<?xml version="1.0"?>

<!-- Ant file for building native files -->
<project name="j3d-core native" default="compile-opt">

  <target name="nativeSetup-debug-solaris" if="isSolarisOnSparc">
	<property name="bldFlag" value="-g -DDEBUG"/>
	<property name="coreLibDependency" value="lib/sparc/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-debug-solaris-x86" if="isSolarisOnX86">
	<property name="bldFlag" value="-g -DDEBUG"/>
	<property name="coreLibDependency" value="lib/i386/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-debug-linux" if="isLinuxOnX86">
	<property name="bldFlag" value="-g -DDEBUG"/>
	<property name="coreLibDependency" value="lib/i386/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-debug-linux-amd64" if="isLinuxOnAmd64">
	<property name="bldFlag" value="-g -DDEBUG -fPIC -march=k8 -msse2 -mfpmath=sse"/>
	<property name="coreLibDependency" value="lib/amd64/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-debug-linux-ia64" if="isLinuxOnIA64">
	<property name="bldFlag" value="-g -DDEBUG"/>
	<property name="coreLibDependency" value="lib/ia64/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>
  
  <target name="nativeSetup-debug-linux-ppc" if="isLinuxOnPPC">
	<property name="bldFlag" value="-g -DDEBUG"/>
	<property name="coreLibDependency" value="lib/ppc/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-debug-win32" if="isWindowsOnX86">
	<property name="bldFlag" 
	         value="-DDEBUG -DWIN32 -D_WINDOWS"/>
	<property name="coreLibDependency" value="bin/j3dcore-${build.rend}.dll"/>
        <property name="osNativeConfigTemplate3D" value="Win32NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="Win32NativeScreenInfo"/>
  </target>


  <target name="nativeSetup-debug-winamd64" if="isWindowsOnAmd64">
	<property name="bldFlag" 
	         value="-DDEBUG -DWIN32 -D_WINDOWS"/>
	<property name="coreLibDependency" value="bin/j3dcore-${build.rend}.dll"/>
        <property name="osNativeConfigTemplate3D" value="Win32NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="Win32NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-debug" depends="nativeSetup-debug-solaris, nativeSetup-debug-solaris-x86, nativeSetup-debug-linux, nativeSetup-debug-linux-amd64, nativeSetup-debug-linux-ia64, nativeSetup-debug-linux-ppc, nativeSetup-debug-win32, nativeSetup-debug-winamd64">
	<property name="bldType" value="debug"/>
	<property name="javahCoreSrc"     
	 location="${src}/classes/share/javax/media/j3d"/>
  	<property name="javahCoreTarget"  
	 location="${build}/${platform}/${bldType}/native/javah/j3dcore"/>
  </target>

  <target name="nativeSetup-opt-solaris" if="isSolarisOnSparc">
	<property name="bldFlag" value="-O"/>
	<property name="coreLibDependency" value="lib/sparc/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-opt-solaris-x86" if="isSolarisOnX86">
	<property name="bldFlag" value="-O"/>
	<property name="coreLibDependency" value="lib/i386/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-opt-linux" if="isLinuxOnX86">
	<property name="bldFlag" value="-O"/>
	<property name="coreLibDependency" value="lib/i386/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-opt-linux-amd64" if="isLinuxOnAmd64">
	<property name="bldFlag" value="-O -fPIC -march=k8 -msse2 -mfpmath=sse"/>
	<property name="coreLibDependency" value="lib/amd64/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-opt-linux-ia64" if="isLinuxOnIA64">
	<property name="bldFlag" value="-O"/>
	<property name="coreLibDependency" value="lib/ia64/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-opt-linux-ppc" if="isLinuxOnPPC">
	<property name="bldFlag" value="-O"/>
	<property name="coreLibDependency" value="lib/ppc/libj3dcore-ogl.so"/>
        <property name="osNativeConfigTemplate3D" value="X11NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="X11NativeScreenInfo"/>
  </target>
  
  <target name="nativeSetup-opt-win32" if="isWindowsOnX86">
	<property name="bldFlag" 
	         value="-DWIN32 -D_WINDOWS"/>
	<property name="coreLibDependency" value="bin/j3dcore-${build.rend}.dll"/>
        <property name="osNativeConfigTemplate3D" value="Win32NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="Win32NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-opt-winamd64" if="isWindowsOnAmd64">
	<property name="bldFlag" 
	         value="-DWIN32 -D_WINDOWS"/>
	<property name="coreLibDependency" value="bin/j3dcore-${build.rend}.dll"/>
        <property name="osNativeConfigTemplate3D" value="Win32NativeConfigTemplate3D"/>
        <property name="osNativeScreenInfo" value="Win32NativeScreenInfo"/>
  </target>

  <target name="nativeSetup-opt" depends="nativeSetup-opt-solaris, nativeSetup-opt-solaris-x86, nativeSetup-opt-linux, nativeSetup-opt-linux-amd64, nativeSetup-opt-linux-ia64, nativeSetup-opt-linux-ppc, nativeSetup-opt-win32, nativeSetup-opt-winamd64">
	<property name="bldType" value="opt"/>
	<property name="javahCoreSrc"     
	 location="${src}/classes/share/javax/media/j3d"/>
  	<property name="javahCoreTarget"
  	 location="${build}/${platform}/${bldType}/native/javah/j3dcore"/>
  </target>

  <target name="dependencyCheck">

     <!-- ==== source/target out-of-date checking for JNI header files ==== -->
       <condition property="javahBuild.notRequired"> 
       	  <and>
	    <uptodate
     	     srcfile="${javahCoreSrc}/Background.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_Background.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/Canvas3D.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_Canvas3D.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/ColoringAttributes.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_ColoringAttributes.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/ColoringAttributesRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_ColoringAttributesRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/CompressedGeometryRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_CompressedGeometryRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/DepthComponentRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_DepthComponentRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/DirectionalLightRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_DirectionalLightRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/DisplayListRenderMethod.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_DisplayListRenderMethod.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/DrawingSurfaceObjectAWT.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_DrawingSurfaceObjectAWT.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/ExponentialFogRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_ExponentialFogRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/GeometryArray.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_GeometryArray.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/GeometryArrayRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_GeometryArrayRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/GeometryRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_GeometryRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/GraphicsContext3D.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_GraphicsContext3D.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/ImageComponent.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_ImageComponent.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/ImageComponent2DRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_ImageComponent2DRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/ImageComponentRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_ImageComponentRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/IndexedGeometryArrayRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_IndexedGeometryArrayRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/LineAttributes.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_LineAttributes.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/LineAttributesRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_LineAttributesRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/LinearFogRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_LinearFogRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/MasterControl.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_MasterControl.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/Material.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_Material.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/MaterialRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_MaterialRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/ModelClipRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_ModelClipRetained.h"/>
	    <uptodate
             srcfile="${javahCoreSrc}/NativePipeline.java"
             targetfile="${javahCoreTarget}/javax_media_j3d_NativePipeline.h"/>
            <uptodate
     	     srcfile="${javahCoreSrc}/NativeConfigTemplate3D.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_NativeConfigTemplate3D.h"/>
            <uptodate
     	     srcfile="${src}/classes/${wstype}/javax/media/j3d/${osNativeConfigTemplate3D}.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_${osNativeConfigTemplate3D}.h"/>
            <uptodate
     	     srcfile="${src}/classes/${wstype}/javax/media/j3d/${osNativeScreenInfo}.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_${osNativeScreenInfo}.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/NodeRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_NodeRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/PointAttributesRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_PointAttributesRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/PointLightRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_PointLightRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/PolygonAttributes.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_PolygonAttributes.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/PolygonAttributesRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_PolygonAttributesRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/Raster.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_Raster.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/RasterRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_RasterRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/RenderMolecule.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_RenderMolecule.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/Renderer.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_Renderer.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/RenderingAttributes.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_RenderingAttributes.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/RenderingAttributesRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_RenderingAttributesRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/SpotLightRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_SpotLightRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/TexCoordGeneration.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_TexCoordGeneration.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/TexCoordGenerationRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_TexCoordGenerationRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/Texture.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_Texture.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/Texture2D.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_Texture2D.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/Texture2DRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_Texture2DRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/Texture3DRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_Texture3DRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/TextureAttributes.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_TextureAttributes.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/TextureAttributesRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_TextureAttributesRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/TextureCubeMapRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_TextureCubeMapRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/TextureRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_TextureRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/TextureUnitStateRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_TextureUnitStateRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/TransparencyAttributes.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_TransparencyAttributes.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/TransparencyAttributesRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_TransparencyAttributesRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/GLSLShaderProgramRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_GLSLShaderProgramRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/CgShaderProgramRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_CgShaderProgramRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/Shader.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_Shader.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/ShaderAttributeObjectRetained.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_ShaderAttributeObjectRetained.h"/>
	    <uptodate
     	     srcfile="${javahCoreSrc}/ShaderError.java"
    	     targetfile="${javahCoreTarget}/javax_media_j3d_ShaderError.h"/>
	  </and>
       </condition>
       <echo message="javahBuild.notRequired = ${javahBuild.notRequired}"/>

     <!-- ==== source/target out-of-date checking for JNI header files ==== -->
     <!-- ==== and obj files                                           ==== -->	
       <condition property="nativeOGLBuild.notRequired"> 
       	  <and>
	    <istrue value="${javahBuild.notRequired}"/>
	    <uptodate>
    	      <srcfiles dir= "${src}/native/${build.rend}" includes="*.c,*.h,*.cpp,*.hpp"/>
    	      <mapper type="merge" from="*.c,*.h,*.cpp,*.hpp" 
		      to="${build}/${platform}/${bldType}/${coreLibDependency}"/>
            </uptodate>
	  </and>
       </condition>
       <echo message="nativeOGLBuild.notRequired = ${nativeOGLBuild.notRequired}"/>
  </target>

  <target name="genJavah" unless="javahBuild.notRequired">

    <!-- Create the build directory structure used for JNI header -->
    <mkdir dir="${javahCoreTarget}"/>

    <!-- Generate JNI headers from ${build}/${platform}/${bldType}/classes -->
    <!-- into ${javahCoreTarget} -->
    <javah destdir="${javahCoreTarget}" force="yes">
	<classpath>
	    <pathelement path="${build}/${platform}/${bldType}/classes"/>
	</classpath>
	
	<class name="javax.media.j3d.Background"/>
	<class name="javax.media.j3d.Canvas3D"/>
	<class name="javax.media.j3d.ColoringAttributes"/>
	<class name="javax.media.j3d.ColoringAttributesRetained"/>
	<class name="javax.media.j3d.CompressedGeometryRetained"/>
	<class name="javax.media.j3d.DepthComponentRetained"/>
	<class name="javax.media.j3d.DirectionalLightRetained"/>
	<class name="javax.media.j3d.DisplayListRenderMethod"/>
	<class name="javax.media.j3d.DrawingSurfaceObjectAWT"/>
	<class name="javax.media.j3d.ExponentialFogRetained"/>
	<class name="javax.media.j3d.GeometryArray"/>
	<class name="javax.media.j3d.GeometryArrayRetained"/>
	<class name="javax.media.j3d.GeometryRetained"/>
	<class name="javax.media.j3d.GraphicsContext3D"/>
	<class name="javax.media.j3d.ImageComponent"/>
	<class name="javax.media.j3d.ImageComponent2DRetained"/>
	<class name="javax.media.j3d.ImageComponentRetained"/>
	<class name="javax.media.j3d.IndexedGeometryArrayRetained"/>
	<class name="javax.media.j3d.LineAttributes"/>
	<class name="javax.media.j3d.LineAttributesRetained"/>
	<class name="javax.media.j3d.LinearFogRetained"/>
	<class name="javax.media.j3d.MasterControl"/>
	<class name="javax.media.j3d.Material"/>
	<class name="javax.media.j3d.MaterialRetained"/>
	<class name="javax.media.j3d.ModelClipRetained"/>
        <class name="javax.media.j3d.NativePipeline"/>
	<class name="javax.media.j3d.NativeConfigTemplate3D"/>
	<class name="javax.media.j3d.${osNativeConfigTemplate3D}"/>
	<class name="javax.media.j3d.${osNativeScreenInfo}"/>
	<class name="javax.media.j3d.NodeRetained"/>
	<class name="javax.media.j3d.PointAttributesRetained"/>
	<class name="javax.media.j3d.PointLightRetained"/>
	<class name="javax.media.j3d.PolygonAttributes"/>
	<class name="javax.media.j3d.PolygonAttributesRetained"/>
	<class name="javax.media.j3d.Raster"/>
	<class name="javax.media.j3d.RasterRetained"/>
	<class name="javax.media.j3d.RenderMolecule"/>
	<class name="javax.media.j3d.Renderer"/>
	<class name="javax.media.j3d.RenderingAttributes"/>
	<class name="javax.media.j3d.RenderingAttributesRetained"/>
	<class name="javax.media.j3d.SpotLightRetained"/>
	<class name="javax.media.j3d.TexCoordGeneration"/>
	<class name="javax.media.j3d.TexCoordGenerationRetained"/>
	<class name="javax.media.j3d.Texture"/>
	<class name="javax.media.j3d.Texture2D"/>
	<class name="javax.media.j3d.Texture2DRetained"/>
	<class name="javax.media.j3d.Texture3DRetained"/>
	<class name="javax.media.j3d.TextureAttributes"/>
	<class name="javax.media.j3d.TextureAttributesRetained"/>
	<class name="javax.media.j3d.TextureCubeMapRetained"/>
	<class name="javax.media.j3d.TextureRetained"/>
	<class name="javax.media.j3d.TextureUnitStateRetained"/>
	<class name="javax.media.j3d.TransparencyAttributes"/>
	<class name="javax.media.j3d.TransparencyAttributesRetained"/>
	<class name="javax.media.j3d.GLSLShaderProgramRetained"/>
	<class name="javax.media.j3d.CgShaderProgramRetained"/>
	<class name="javax.media.j3d.Shader"/>
	<class name="javax.media.j3d.ShaderAttributeObjectRetained"/>
	<class name="javax.media.j3d.ShaderError"/>

    </javah>

  </target>

  <target name="compile-debug" depends="nativeSetup-debug, dependencyCheck, genJavah" unless="nativeOGLBuild.notRequired">
	<ant antfile="build-${platform}.xml" dir="${build.rend}" target="compile"/>
  </target>

  <target name="compile-opt" depends="nativeSetup-opt, dependencyCheck, genJavah" 
	  unless="nativeOGLBuild.notRequired">
	   <ant antfile="build-${platform}.xml" dir="${build.rend}" target="compile"/>
  </target>

  <target name="dist" unless="build.javaonly">
	   <ant antfile="build-${platform}.xml" dir="${build.rend}" target="dist"/>
           <chmod dir="${dist}/${platform}" perm="755" includes="**/*.dll, **/*.so"/>
  </target>

</project>

