On 10/06/2009 10:41, Alberto Luaces wrote:
It makes sense. Since this package is useless without hardware acceleration, I
will have to take away my proposal until X goes accelerated.
I'm not sure why you believe so. The OpenGL API is designed to be
implementation-agnostic, and Mesa (which provides OpenGL for Cygwin/X)
generally suffices, although without the performance benefit of hardware
acceleration.
I was able to build OpenSceneGraph and run a number of examples, so it
would seem to work as is, with the following caveats:
1) OSG can take advantage of several additional dependencies which are
not in the distro. Some of these are available in Ports, and a few not.
AFAICS these are all optional, so it shouldn't be a show-stopper.
2) The stock cmake treats Cygwin as both WIN32 and UNIX, which besides
being contradictory, is generally incorrect. You won't be able to build
OSG for X11 with the stock cmake because of that. I do have patches for
cmake which fix that (since KDE4 has the same problem); I really should
work with the cmake maintainer on that.
Here are the .cygport and patch I used to try this out; all the patch
does is remove the unnecessary "cygwin_" prefix from plugins.
Hope this helps,
Yaakov
Cygwin/X
inherit cmake
DESCRIPTION="High-performance 3D graphics toolkit"
HOMEPAGE="http://www.openscenegraph.org/projects/osg"
SRC_URI="http://www.openscenegraph.org/downloads/stable_releases/${P%.0}/source/${P}.zip"
PKG_NAMES="${PN} libosg2 libosg-devel"
OpenSceneGraph_CONTENTS="usr/bin/*.exe usr/share/doc/"
libosg2_CONTENTS="usr/bin/*-2.dll usr/lib/osgPlugins*/"
libosg_devel_CONTENTS="usr/include/ usr/lib/lib* usr/lib/pkgconfig/"
--- origsrc/OpenSceneGraph-2.8.1/CMakeLists.txt 2009-05-19 11:05:19.000000000 -0500
+++ src/OpenSceneGraph-2.8.1/CMakeLists.txt 2009-06-10 11:49:32.845416900 -0500
@@ -41,10 +41,6 @@ SET(OSG_PLUGINS osgPlugins-${OPENSCENEGR
SET(OSG_PLUGIN_PREFIX "")
-IF (CYGWIN)
- SET(OSG_PLUGIN_PREFIX "cygwin_")
-ENDIF(CYGWIN)
-
IF(MINGW)
SET(OSG_PLUGIN_PREFIX "mingw_")
ENDIF(MINGW)
--- origsrc/OpenSceneGraph-2.8.1/src/osgDB/Registry.cpp 2009-05-07 08:24:49.000000000 -0500
+++ src/OpenSceneGraph-2.8.1/src/osgDB/Registry.cpp 2009-06-10 11:51:01.585522900 -0500
@@ -648,9 +648,9 @@ std::string Registry::createLibraryNameF
#if defined(__CYGWIN__)
#ifdef _DEBUG
- return prepend+"cygwin_"+"osgdb_"+lowercase_ext+OSG_DEBUG_POSTFIX_WITH_QUOTES+".dll";
+ return prepend+"osgdb_"+lowercase_ext+OSG_DEBUG_POSTFIX_WITH_QUOTES+".dll";
#else
- return prepend+"cygwin_"+"osgdb_"+lowercase_ext+".dll";
+ return prepend+"osgdb_"+lowercase_ext+".dll";
#endif
#elif defined(__MINGW32__)
return prepend+"mingw_"+"osgdb_"+lowercase_ext+".dll";