Okay, I fixed it. When I browsed through the Jam documentation, stating that the only datatype Jam knows are lists of strings, it came to my mind that concatenating a list that has only one item might fail.

I am currently writing ebuilds (Gentoo Linux) for the live version of CrystalSpace (aka 1.9 from SVN), CEL and CrystalCore as the current stable version of CS does not work on my dev laptop. (I have described the problem here in the forums, but no solution could be found.)

Everything is working so far. After patching plugins/cscript/csjava/Jamfile even Java-Support compiles fine.

But when Jam reaches the target "xwin.so", it fails, or better the linker fails, because "-l/usr/local/lib" can not be found. I have found out how it comes to this stage, but I am no Jam-expert and simply can't fix this on my own.

When I build the target with -d9, the log shows the following: (Only a small snippet from a 743M log! I have commented the log output as I understand it. And I had to remove some lines and replace the long argument line with <FLAGS LIKE ABOVE> or the message would be too long for the forums.)

Now this is the result from the line tuples += $(accum:J=" ") ;and I do not understand why everything is lowercase now. But the next log entry after the function returned confirms, that everything is transformed to lowercase:

Well, I surely suspected the intel drivers. But I made some tests, and everything else works fine. I tested GLFrontier, Briquolo (OpenGL), FreeOrion (Ogre3D) and all Irrlicht demos. (The latter look like this, this and this.)

*Sigh*

I guess it has something to do with CXXFLAGS. So I will rebuild CrystalSpace today without any additional flags, and see whether the issue goes away. If it does, I can add single flags until the distortions re-appear. If not, I'll go and look what the people on IRC say.

For the java issue, the lowest version of swig directly available on gentoo linux is 1.3.40. But it's not a problem, because CS compiles fine with "--enable-make-emulation".

./include/csplugincommon/opengl/glextmanager.h: In member function 'void csGLExtensionManager::InitGL_ARB_vertex_program()':./include/csplugincommon/opengl/glextmanager.h:19525: warning: suggest parentheses around assignment used as truth value

./include/csplugincommon/opengl/glextmanager.h: In member function 'void csGLExtensionManager::InitGL_ARB_texture_rg()':./include/csplugincommon/opengl/glextmanager.h:24927: warning: suggest parentheses around assignment used as truth value

In file included from ./include/csplugincommon/canvas/graph2d.h:41, from ./include/csplugincommon/opengl/glcommon2d.h:34, from /var/tmp/portage/dev-games/crystalspace-1.4.0-r1/work/crystalspace-src-1.4.0/libs/csplugincommon/opengl/glfontcache.cpp:35:./include/ivideo/graph2d.h:146: warning: 'iOffscreenCanvasCallback' is deprecated (declared at ./include/ivideo/graph2d.h:145)In file included from ./include/csplugincommon/opengl/glstates.h:35, from ./include/csplugincommon/opengl/glcommon2d.h:38, from /var/tmp/portage/dev-games/crystalspace-1.4.0-r1/work/crystalspace-src-1.4.0/libs/csplugincommon/opengl/glfontcache.cpp:35:

(... a lot of warnings like this:)

./include/csplugincommon/opengl/glextmanager.h: In member function 'void csGLExtensionManager::InitGL_version_1_2()':./include/csplugincommon/opengl/glextmanager.h:24927: warning: suggest parentheses around assignment used as truth value

crystalspace.canvas.opengl.extmgr: GL Extension 'GL_version_1_2' found and used. GL Extension 'GL_ARB_texture_cube_map' found and used. GL Extension 'GL_EXT_texture3D' found and used. GL Extension 'GL_ARB_vertex_buffer_object' found and used. GL Extension 'GL_SGIS_generate_mipmap' found and used. GL Extension 'GL_EXT_texture_filter_anisotropic' found and used. GL Extension 'GL_EXT_texture_lod_bias' found and used. GL Extension 'GL_ARB_point_parameters' found and used. GL Extension 'GL_ARB_point_sprite' found and used. GL Extension 'GL_EXT_framebuffer_object' found and used. GL Extension 'GL_ARB_texture_non_power_of_two' found and used. GL Extension 'GL_ARB_vertex_program' found and used. GL Extension 'GL_EXT_secondary_color' found and used. GL Extension 'GL_EXT_blend_func_separate' found and used.

crystalspace.system: Precaching all things...WARNING! Object 'Mesh.002' is not closed!WARNING! Object 'Cylinder.018' is not closed!WARNING! Object 'Cylinder.025' is not closed!WARNING! Object 'Mesh.001' is not closed!WARNING! Object 'Cube.582' is not closed!WARNING! Object 'Cube.577' is not closed!...

crystalspace.canvas.opengl.extmgr: GL Extension 'GL_EXT_separate_specular_color' found and used. GL Extension 'GL_ARB_texture_env_dot3' found and used.

crystalspace.graphics3d.shader.fixed: Multitexture units: whopping 8

crystalspace.canvas.opengl.extmgr: GL Extension 'GL_version_1_3' found and used. GL Extension 'GL_version_1_4' found and used.