workaround of premake for link error on Ubuntu/Linux, see

https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-319/+bug/1248642
This commit is contained in:
Erwin Coumans 2014-05-05 13:47:00 -07:00
parent a1febdcf3d
commit c1940169bc
8 changed files with 18 additions and 5 deletions

View File

@ -48,7 +48,7 @@
"../GpuDemos/gwenUserInterface.h"
}
if os.is("Linux") then links{"X11"} end
if os.is("Linux") then links{"X11","pthread"} end
if os.is("MacOSX") then
links{"Cocoa.framework"}
end

View File

@ -91,7 +91,7 @@ function createProject(vendor)
}
end
if os.is("Linux") then
links{"X11"}
links{"X11","pthread"}
files {
"../../btgui/OpenGLWindow/X11OpenGLWindow.cpp",
"../../btgui/OpenGLWindow/X11OpenGLWindows.h"

View File

@ -68,7 +68,7 @@ function createProject(vendor)
}
end
if os.is("Linux") then
links {"X11"}
links {"X11","pthread"}
files {
"../../btgui/OpenGLWindow/X11OpenGLWindow.cpp",
"../../btgui/OpenGLWindow/X11OpenGLWindows.h"

View File

@ -61,6 +61,7 @@ if os.is("Windows") then
"../../btgui/OpenGLWindow/X11OpenGLWindow.h",
"../../btgui/OpenGLWindow/X11OpenGLWindow.cpp"
}
links{"pthread"}
end
if os.is("MacOSX") then
links{"Cocoa.framework"}

View File

@ -27,7 +27,7 @@
}
if os.is("Linux") then links {"X11"} end
if os.is("Linux") then links {"X11","pthread"} end
if os.is("MacOSX") then
links{"Cocoa.framework"}

View File

@ -55,6 +55,7 @@
"../OpenGLWindow/X11OpenGLWindow.h",
"../OpenGLWindow/X11OpenGLWindow.cpp"
}
links{"pthread"}
end
if os.is("MacOSX") then
links{"Cocoa.framework"}

View File

@ -11,6 +11,8 @@
#include <stdio.h>
#include <pthread.h>
GLint att[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, GLX_DOUBLEBUFFER, None };
@ -82,6 +84,13 @@ void X11OpenGLWindow::enableOpenGL()
printf("GL_VERSION=%s\n", ver);
const GLubyte* sl = glGetString(GL_SHADING_LANGUAGE_VERSION);
printf("GL_SHADING_LANGUAGE_VERSION=%s\n", sl);
//Access pthreads as a workaround for a bug in Linux/Ubuntu
//See https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-319/+bug/1248642
int i=pthread_getconcurrency();
printf("pthread_getconcurrency()=%d\n",i);
// const GLubyte* ext = glGetString(GL_EXTENSIONS);
// printf("GL_EXTENSIONS=%s\n", ext);
}

View File

@ -30,7 +30,9 @@
"Win32Window.h",
}
end
if not os.is("Linux") then
if os.is("Linux") then
links {"pthread"}
else
excludes {
"X11OpenGLWindow.cpp",
"X11OpenGLWindows.h"