--- j3d-core/src/native/ogl/build-freebsd.xml.orig	2026-04-09 07:04:07 UTC
+++ j3d-core/src/native/ogl/build-freebsd.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+
+<!-- Ant file for building native ogl renderer files for FreeBSD -->
+<project name="j3d-core native" default="compile">
+
+  <target name="init" depends="init-cg,init-nocg">
+    <!-- Create the build directories for freebsd -->
+    <mkdir dir="${build}/${platform}/${bldType}/native/ogl/objs"/>
+    <mkdir dir="${build}/${platform}/${bldType}/lib/${os.arch}"/>
+    
+    <property name="oglsrc"     location="${src}/native/ogl"/>
+  </target>
+
+  <target name="init-cg" if="build.cg">
+    <property name="cflags.cg"  value="-DCOMPILE_CG_SHADERS=1"/>
+  </target>
+
+  <target name="init-nocg" unless="build.cg">
+    <property name="cflags.cg"  value=""/>
+  </target>
+
+  <target name="compile-ogl">
+    <echo message="Executing native renderer build [${bldType}]"/>
+
+    <!-- Compile the c source files-->
+    <exec dir="${build}/${platform}/${bldType}/native/ogl/objs" executable="gcc">
+	<arg line="-fPIC -I${oglsrc} -I${ports.localbase}/include -I${java.home}/../include -I${java.home}/../include/freebsd -I${javahCoreTarget} ${bldFlag} -DLINUX ${cflags.cg} -c ${oglsrc}/DrawingSurfaceObjectAWT.c ${oglsrc}/Canvas3D.c ${oglsrc}/GraphicsContext3D.c  ${oglsrc}/NativeScreenInfo.c  ${oglsrc}/NativeConfigTemplate3D.c  ${oglsrc}/MasterControl.c  ${oglsrc}/GeometryArrayRetained.c  ${oglsrc}/Attributes.c  ${oglsrc}/CgShaderProgram.c  ${oglsrc}/GLSLShaderProgram.c  ${oglsrc}/Lights.c"/>
+    </exec>
+
+    <!-- Create the library file-->
+    <exec dir="${build}/${platform}/${bldType}/native/ogl/objs" executable="gcc">
+	<arg line="DrawingSurfaceObjectAWT.o  Canvas3D.o  GraphicsContext3D.o  NativeScreenInfo.o  NativeConfigTemplate3D.o  MasterControl.o  GeometryArrayRetained.o  Attributes.o  CgShaderProgram.o  GLSLShaderProgram.o  Lights.o -shared -z defs -L${ports.localbase}/lib -lGL -lX11 -lXext -lm -lc -L${java.home}/lib/${os.arch} -ljawt -L${java.home}/lib/${os.arch}/server -ljvm  -o libj3dcore-ogl.so"/>
+    </exec>
+
+  </target>
+
+  <target name="compile-ogl-cg" if="build.cg">
+    <!-- Compile the wrapper -->
+    <exec dir="${build}/${platform}/${bldType}/native/ogl/objs" executable="gcc">
+	<arg line="-I${oglsrc} -I${java.home}/../include -I${java.home}/../include/freebsd -I${javahCoreTarget} ${bldFlag} -DLINUX ${cflags.cg} -c ${oglsrc}/CgWrapper.c"/>
+    </exec>
+
+    <!-- Create the wrapper library -->
+    <exec dir="${build}/${platform}/${bldType}/native/ogl/objs" executable="gcc">
+	<arg line="CgWrapper.o -shared -z defs -L/usr/X11R6/lib64 -ldl -lCg -lCgGL -lpthread -lGL -lX11 -lXext -lm -lnsl -lc -o libj3dcore-ogl-cg.so"/>
+    </exec>
+
+  </target>
+
+  <target name="compile" depends="init,compile-ogl,compile-ogl-cg">
+
+    <!-- Copy the  library file -->
+    <copy todir="${build}/${platform}/${bldType}/lib/${os.arch}">
+          <fileset dir="${build}/${platform}/${bldType}/native/ogl/objs"
+                      includes="libj3dcore-ogl*.so"
+          />
+    </copy>
+
+  </target>
+
+  <target name="dist">
+    <!-- Create the distribution directory -->
+    <mkdir dir="${dist}/${platform}/lib/${os.arch}"/>
+
+    <!-- Copy the library files -->
+    <copy todir="${dist}/${platform}/lib/${os.arch}">
+          <fileset dir="${build}/${platform}/opt/lib/${os.arch}"
+                      includes="libj3dcore-ogl*.so"
+          />
+    </copy>
+
+  </target>
+
+</project>
