From d0f4086a57adafec2a92bc801a1e9c229b61a049 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 21 Jun 2013 09:17:28 +0000 Subject: [PATCH] From FrancoisTigeot, "OpenSceneGraph 3.0.1 doesn't build out of the box on DragonFly and needs a few modifications to these files: - applications/present3D/Cluster.cpp - src/osgDB/FileUtils.cpp The changes are needed to fix a few platform specific things such as the absence of stat64, int/socklen_t differences, etc... and are in the same line as Linux, Apple and FreeBSD specific checks. I have attached the modified files; the original patches to 3.0.1 are also visible here if you find it more convenient: http://dl.wolfpond.org/dports/graphics.osg/dragonfly/patch-applications_present3D_Cluster.cpp http://dl.wolfpond.org/dports/graphics.osg/dragonfly/patch-src_osgDB_FileUtils.cpp With these changes, osg 3.0.1 is able to be built and packaged on DragonFly whereas it previously failed to compile." --- applications/present3D/Cluster.cpp | 5 +++-- src/osgDB/FileUtils.cpp | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/applications/present3D/Cluster.cpp b/applications/present3D/Cluster.cpp index 1b746a167..361dfe862 100644 --- a/applications/present3D/Cluster.cpp +++ b/applications/present3D/Cluster.cpp @@ -33,7 +33,7 @@ #if defined(__linux) #include #include -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__DragonFly__) #include #include #elif defined(__sgi) @@ -336,7 +336,8 @@ void Receiver::sync( void ) return; } -#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) +#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || \ + defined(__DragonFly__) socklen_t #else int diff --git a/src/osgDB/FileUtils.cpp b/src/osgDB/FileUtils.cpp index a018675d6..3ecd24e3c 100644 --- a/src/osgDB/FileUtils.cpp +++ b/src/osgDB/FileUtils.cpp @@ -76,7 +76,8 @@ typedef char TCHAR; #if (MAC_OS_X_VERSION_MAX_ALLOWED <= 1040) #define stat64 stat #endif -#elif defined(__CYGWIN__) || defined(__FreeBSD__) || (defined(__hpux) && !defined(_LARGEFILE64_SOURCE)) +#elif defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ + (defined(__hpux) && !defined(_LARGEFILE64_SOURCE)) #define stat64 stat #endif