mirror of https://github.com/BOINC/boinc.git
parent
4e21bcc807
commit
85ecd070e2
|
@ -56,6 +56,10 @@ HANDLE hGlobalDrawEvent;
|
|||
#include <gl\glu.h> // Header File For The GLu32 Library
|
||||
#include <gl\glaux.h> // Header File For The Glaux Library
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GL_LIB
|
||||
#include <GL/gl.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "parse.h"
|
||||
|
|
|
@ -32,6 +32,11 @@ DWORD WINAPI win_graphics_event_loop( LPVOID duff );
|
|||
#include <gl\glu.h> // Header File For The GLu32 Library
|
||||
#include <gl\glaux.h> // Header File For The Glaux Library
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GL_LIB
|
||||
#include <GL/gl.h>
|
||||
#include "x_opengl.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "graphics_api.h"
|
||||
|
@ -39,10 +44,17 @@ DWORD WINAPI win_graphics_event_loop( LPVOID duff );
|
|||
|
||||
#include "parse.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#ifdef __APPLE_CC__
|
||||
#include "mac_app_opengl.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_PTHREAD
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
|
||||
extern GRAPHICS_INFO gi;
|
||||
|
||||
int boinc_init_opengl() {
|
||||
|
@ -52,6 +64,7 @@ int boinc_init_opengl() {
|
|||
HANDLE hThread;
|
||||
|
||||
// Create the graphics thread, passing it the graphics info
|
||||
// TODO: is it better to use _beginthreadex here?
|
||||
hThread = CreateThread(
|
||||
NULL, 0, win_graphics_event_loop, &gi, CREATE_SUSPENDED, &threadId
|
||||
);
|
||||
|
@ -82,6 +95,18 @@ int boinc_init_opengl() {
|
|||
|
||||
YieldToAnyThread();
|
||||
#endif
|
||||
|
||||
#ifdef _PTHREAD_H
|
||||
pthread_t graphics_thread;
|
||||
pthread_attr_t graphics_thread_attr;
|
||||
int retval;
|
||||
|
||||
pthread_attr_init( &graphics_thread_attr );
|
||||
retval = pthread_create( &graphics_thread, &graphics_thread_attr, p_graphics_loop, &gi );
|
||||
if (retval) return ERR_THREAD;
|
||||
pthread_attr_destroy( &graphics_thread_attr );
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -0,0 +1,134 @@
|
|||
#include "x_opengl.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#include <GL/glx.h>
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#include "graphics_api.h"
|
||||
|
||||
void process_input(Display *dpy);
|
||||
void refresh( void );
|
||||
int DrawGLScene(GLvoid);
|
||||
GLvoid buildFont(GLvoid);
|
||||
|
||||
extern int ok_to_draw;
|
||||
int win_open;
|
||||
GLuint main_font;
|
||||
Display *dpy;
|
||||
Window win;
|
||||
|
||||
static Bool WaitForNotify(Display *d,XEvent *e,char *arg) {
|
||||
return(e->type == MapNotify) && (e->xmap.window == (Window)arg);
|
||||
}
|
||||
|
||||
void *p_graphics_loop( void *duff ) {
|
||||
XVisualInfo *vi;
|
||||
Colormap cmap;
|
||||
XSetWindowAttributes swa;
|
||||
GLXContext cx;
|
||||
XEvent event;
|
||||
GRAPHICS_INFO *gfx;
|
||||
int attributeList[] = {GLX_RGBA, GLX_DOUBLEBUFFER,
|
||||
GLX_GREEN_SIZE, 4, GLX_BLUE_SIZE, 4, GLX_DEPTH_SIZE, 16, None};
|
||||
|
||||
gfx = (GRAPHICS_INFO *)duff;
|
||||
|
||||
/* get a connection */
|
||||
dpy = XOpenDisplay(0);
|
||||
|
||||
if (dpy == NULL) {
|
||||
printf("couldn't open display\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* get an appropriate visual */
|
||||
vi = glXChooseVisual(dpy,DefaultScreen(dpy),attributeList);
|
||||
if (vi == NULL) {
|
||||
printf("couldn't find the visual \n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* create a GLX context */
|
||||
if (!(cx = glXCreateContext(dpy,vi,0,GL_FALSE))) {
|
||||
fprintf(stderr, "glXGetContext failed!\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* create color map */
|
||||
if (!(cmap = XCreateColormap(dpy,RootWindow(dpy,vi->screen),
|
||||
vi->visual,AllocNone)))
|
||||
{
|
||||
fprintf(stderr, "XCreateColormap failed!\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* create window */
|
||||
swa.colormap = cmap;
|
||||
swa.border_pixel = 0;
|
||||
swa.event_mask = StructureNotifyMask;
|
||||
win = XCreateWindow(dpy,RootWindow(dpy,vi->screen),0,0,gfx->xsize,gfx->ysize,0,vi->depth, InputOutput,vi->visual,CWBorderPixel|CWColormap|CWEventMask, &swa);
|
||||
XMapWindow(dpy,win);
|
||||
XIfEvent(dpy,&event,WaitForNotify,(char*)win);
|
||||
|
||||
if (!(glXMakeCurrent(dpy,win,cx)))
|
||||
{
|
||||
fprintf(stderr, "glXMakeCurrent failed (window)!\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
win_open = true;
|
||||
buildFont();
|
||||
while(1) {
|
||||
process_input(dpy);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// How do we prevent broken pipes and broken connection error messages?
|
||||
//
|
||||
void process_input(Display *dpy) {
|
||||
XEvent event;
|
||||
|
||||
if( XPending(dpy) ) {
|
||||
do {
|
||||
|
||||
XNextEvent(dpy, &event);
|
||||
switch(event.type) {
|
||||
case DestroyNotify:
|
||||
win_open = false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} while (XPending(dpy));
|
||||
}
|
||||
if (ok_to_draw && win_open) {
|
||||
DrawGLScene();
|
||||
glXSwapBuffers(dpy,win);
|
||||
ok_to_draw = 0;
|
||||
}
|
||||
}
|
||||
|
||||
GLvoid buildFont(GLvoid)
|
||||
{
|
||||
XFontStruct *font;
|
||||
|
||||
main_font = glGenLists(256); /* storage for 256 characters */
|
||||
/* load a font with a specific name in "Host Portable Character Encoding" */
|
||||
/*font = XLoadQueryFont(dpy,
|
||||
"-*-helvetica-bold-r-normal--24-*-*-*-p-*-iso8859-1");*/
|
||||
/* this really *should* be available on every X Window System...*/
|
||||
font = XLoadQueryFont(dpy, "fixed");
|
||||
if (font == NULL)
|
||||
{
|
||||
printf("Problems loading fonts :-(\n");
|
||||
return; // exit(1);
|
||||
}
|
||||
/* build 256 display lists out of our font */
|
||||
glXUseXFont(font->fid, 0, 256, main_font);
|
||||
/* free our XFontStruct since we have our display lists */
|
||||
XFreeFont(dpy, font);
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
void *p_graphics_loop( void * );
|
||||
|
|
@ -13,27 +13,44 @@ CFLAGS = -g -Wall @DEFS@ \
|
|||
|
||||
CC = @CC@ $(CFLAGS) -I @top_srcdir@/api -I@top_srcdir@/lib
|
||||
|
||||
LIBS = ../api/boinc_api.o ../api/graphics_api.o ../api/mfile.o ../lib/parse.o ../lib/filesys.o ../lib/util.o
|
||||
APIOBJS = ../api/boinc_api.o ../api/graphics_api.o
|
||||
X11APIOBJS = ../api/boinc_api.x11.o ../api/graphics_api.x11.o ../api/x_opengl.x11.o
|
||||
|
||||
LIBS = ../api/mfile.o ../lib/parse.o ../lib/filesys.o ../lib/util.o
|
||||
|
||||
CLIBS = @LIBS@
|
||||
|
||||
XLIBS = -lGL -lGLU -lpthread
|
||||
|
||||
APPS = upper_case concat 1sec
|
||||
|
||||
.C.o:
|
||||
$(CC) -c -o $*.o $<
|
||||
.c.o:
|
||||
$(CC) -c -o $*.o $<
|
||||
upper_case.x11.o:
|
||||
$(CC) -DBOINC_APP_GRAPHICS -c -o $*.o upper_case.C
|
||||
../api/x_opengl.x11.o:
|
||||
$(CC) -DBOINC_APP_GRAPHICS -c -o $*.o ../api/x_opengl.C
|
||||
../api/boinc_api.x11.o:
|
||||
$(CC) -DBOINC_APP_GRAPHICS -c -o $*.o ../api/boinc_api.C
|
||||
../api/graphics_api.x11.o:
|
||||
$(CC) -DBOINC_APP_GRAPHICS -c -o $*.o ../api/graphics_api.C
|
||||
|
||||
|
||||
all: $(APPS)
|
||||
|
||||
upper_case_x11: upper_case.x11.o $(X11APIOBJS)
|
||||
$(CC) upper_case.x11.o $(X11APIOBJS) $(LIBS) $(CLIBS) $(XLIBS) -lm -o upper_case_x11
|
||||
|
||||
upper_case: upper_case.o
|
||||
$(CC) upper_case.o $(LIBS) $(CLIBS) -lm -o upper_case
|
||||
$(CC) upper_case.o $(APIOBJS) $(LIBS) $(CLIBS) -lm -o upper_case
|
||||
|
||||
concat: concat.o
|
||||
$(CC) concat.o $(LIBS) $(CLIBS) -lm -o concat
|
||||
$(CC) concat.o $(APIOBJS) $(LIBS) $(CLIBS) -lm -o concat
|
||||
|
||||
1sec: 1sec.o
|
||||
$(CC) 1sec.o $(LIBS) $(CLIBS) -lm -o 1sec
|
||||
$(CC) 1sec.o $(APIOBJS) $(LIBS) $(CLIBS) -lm -o 1sec
|
||||
|
||||
install: all
|
||||
-mkdir -p $(INSTALL_DIR)/apps
|
||||
|
@ -45,7 +62,7 @@ uninstall:
|
|||
$(RM) -r $(INSTALL_DIR)/apps
|
||||
|
||||
clean:
|
||||
rm -f *.o $(APPS) dependencies
|
||||
rm -f *.o $(APPS) $(X11APIOBJS) dependencies
|
||||
|
||||
dependencies: @srcdir@/*.C
|
||||
$(CC) -M @srcdir@/*.C > dependencies
|
||||
|
|
|
@ -44,13 +44,15 @@
|
|||
#include <OpenGL/glu.h>
|
||||
|
||||
#include "mac_carbon_gl.h"
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#elif _WIN32
|
||||
#include <windows.h>
|
||||
#include <gl\gl.h> // Header File For The OpenGL32 Library
|
||||
#include <gl\glu.h> // Header File For The GLu32 Library
|
||||
#include <gl\glaux.h> // Header File For The Glaux Library
|
||||
#elif HAVE_GL_LIB
|
||||
#include <GL/glx.h>
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
#endif
|
||||
|
||||
bool app_render(int xs, int ys, double time_of_day);
|
||||
|
@ -258,7 +260,7 @@ int DrawGLScene(GLvoid) // Here's Where We Do All The Drawing
|
|||
glRasterPos2f(-0.9, 0.7);
|
||||
glPrint(main_font, "CPU Time: %f", uc_aid.wu_cpu_time);
|
||||
|
||||
return TRUE; // Everything Went OK
|
||||
return true; // Everything Went OK
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -2385,3 +2385,19 @@ David Nov 9 2002
|
|||
util.inc
|
||||
test/
|
||||
test_uc.php
|
||||
|
||||
Eric Nov 12, 2002
|
||||
- X11 graphics support added
|
||||
- upper_case_x11 target added
|
||||
- configure now checks for pthread, gl libraries
|
||||
|
||||
configure
|
||||
configure.in
|
||||
api/
|
||||
boinc_api.C
|
||||
graphics_api.C
|
||||
x_opengl.C,h (added)
|
||||
apps/
|
||||
upper_case.C
|
||||
Makefile.in
|
||||
|
||||
|
|
|
@ -1077,18 +1077,104 @@ else
|
|||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for pthread_mutex_init in -lpthread""... $ac_c" 1>&6
|
||||
echo "configure:1082: checking for pthread_mutex_init in -lpthread" >&5
|
||||
ac_lib_var=`echo pthread'_'pthread_mutex_init | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lpthread $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1090 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
builtin and then its argument prototype would still apply. */
|
||||
char pthread_mutex_init();
|
||||
|
||||
int main() {
|
||||
pthread_mutex_init()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=no"
|
||||
fi
|
||||
rm -f conftest*
|
||||
LIBS="$ac_save_LIBS"
|
||||
|
||||
fi
|
||||
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_PTHREAD 1
|
||||
EOF
|
||||
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for glCallList in -lGL""... $ac_c" 1>&6
|
||||
echo "configure:1125: checking for glCallList in -lGL" >&5
|
||||
ac_lib_var=`echo GL'_'glCallList | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lGL $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1133 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
builtin and then its argument prototype would still apply. */
|
||||
char glCallList();
|
||||
|
||||
int main() {
|
||||
glCallList()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=no"
|
||||
fi
|
||||
rm -f conftest*
|
||||
LIBS="$ac_save_LIBS"
|
||||
|
||||
fi
|
||||
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_GL_LIB 1
|
||||
EOF
|
||||
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
|
||||
|
||||
ac_header_dirent=no
|
||||
for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
|
||||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
|
||||
echo "configure:1087: checking for $ac_hdr that defines DIR" >&5
|
||||
echo "configure:1173: checking for $ac_hdr that defines DIR" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1092 "configure"
|
||||
#line 1178 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <$ac_hdr>
|
||||
|
@ -1096,7 +1182,7 @@ int main() {
|
|||
DIR *dirp = 0;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1100: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1186: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_header_dirent_$ac_safe=yes"
|
||||
else
|
||||
|
@ -1121,7 +1207,7 @@ done
|
|||
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
|
||||
if test $ac_header_dirent = dirent.h; then
|
||||
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
|
||||
echo "configure:1125: checking for opendir in -ldir" >&5
|
||||
echo "configure:1211: checking for opendir in -ldir" >&5
|
||||
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -1129,7 +1215,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ldir $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1133 "configure"
|
||||
#line 1219 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -1140,7 +1226,7 @@ int main() {
|
|||
opendir()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:1230: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -1162,7 +1248,7 @@ fi
|
|||
|
||||
else
|
||||
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
|
||||
echo "configure:1166: checking for opendir in -lx" >&5
|
||||
echo "configure:1252: checking for opendir in -lx" >&5
|
||||
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -1170,7 +1256,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lx $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1174 "configure"
|
||||
#line 1260 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -1181,7 +1267,7 @@ int main() {
|
|||
opendir()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:1271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -1204,7 +1290,7 @@ fi
|
|||
fi
|
||||
|
||||
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
|
||||
echo "configure:1208: checking how to run the C preprocessor" >&5
|
||||
echo "configure:1294: checking how to run the C preprocessor" >&5
|
||||
# On Suns, sometimes $CPP names a directory.
|
||||
if test -n "$CPP" && test -d "$CPP"; then
|
||||
CPP=
|
||||
|
@ -1219,13 +1305,13 @@ else
|
|||
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||
# not just through cpp.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1223 "configure"
|
||||
#line 1309 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1229: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
|
@ -1236,13 +1322,13 @@ else
|
|||
rm -rf conftest*
|
||||
CPP="${CC-cc} -E -traditional-cpp"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1240 "configure"
|
||||
#line 1326 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1246: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1332: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
|
@ -1253,13 +1339,13 @@ else
|
|||
rm -rf conftest*
|
||||
CPP="${CC-cc} -nologo -E"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1257 "configure"
|
||||
#line 1343 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1263: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1349: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
|
@ -1284,12 +1370,12 @@ fi
|
|||
echo "$ac_t""$CPP" 1>&6
|
||||
|
||||
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
|
||||
echo "configure:1288: checking for ANSI C header files" >&5
|
||||
echo "configure:1374: checking for ANSI C header files" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1293 "configure"
|
||||
#line 1379 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
@ -1297,7 +1383,7 @@ else
|
|||
#include <float.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1301: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1387: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -1314,7 +1400,7 @@ rm -f conftest*
|
|||
if test $ac_cv_header_stdc = yes; then
|
||||
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1318 "configure"
|
||||
#line 1404 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <string.h>
|
||||
EOF
|
||||
|
@ -1332,7 +1418,7 @@ fi
|
|||
if test $ac_cv_header_stdc = yes; then
|
||||
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1336 "configure"
|
||||
#line 1422 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
EOF
|
||||
|
@ -1353,7 +1439,7 @@ if test "$cross_compiling" = yes; then
|
|||
:
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1357 "configure"
|
||||
#line 1443 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <ctype.h>
|
||||
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||
|
@ -1364,7 +1450,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
|
|||
exit (0); }
|
||||
|
||||
EOF
|
||||
if { (eval echo configure:1368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:1454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
:
|
||||
else
|
||||
|
@ -1388,12 +1474,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
|
||||
echo "configure:1392: checking for sys/wait.h that is POSIX.1 compatible" >&5
|
||||
echo "configure:1478: checking for sys/wait.h that is POSIX.1 compatible" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1397 "configure"
|
||||
#line 1483 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
|
@ -1409,7 +1495,7 @@ wait (&s);
|
|||
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1413: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1499: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_header_sys_wait_h=yes
|
||||
else
|
||||
|
@ -1433,17 +1519,17 @@ for ac_hdr in fcntl.h malloc.h strings.h sys/time.h unistd.h sys/systeminfo.h sy
|
|||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:1437: checking for $ac_hdr" >&5
|
||||
echo "configure:1523: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1442 "configure"
|
||||
#line 1528 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1447: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1533: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -1473,17 +1559,17 @@ for ac_hdr in mysql/include/mysql_com.h mysql/mysql_com.h
|
|||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:1477: checking for $ac_hdr" >&5
|
||||
echo "configure:1563: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1482 "configure"
|
||||
#line 1568 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1487: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1573: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -1511,12 +1597,12 @@ done
|
|||
|
||||
|
||||
echo $ac_n "checking for working const""... $ac_c" 1>&6
|
||||
echo "configure:1515: checking for working const" >&5
|
||||
echo "configure:1601: checking for working const" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1520 "configure"
|
||||
#line 1606 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
|
@ -1565,7 +1651,7 @@ ccp = (char const *const *) p;
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1655: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_c_const=yes
|
||||
else
|
||||
|
@ -1586,12 +1672,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
|
||||
echo "configure:1590: checking whether time.h and sys/time.h may both be included" >&5
|
||||
echo "configure:1676: checking whether time.h and sys/time.h may both be included" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1595 "configure"
|
||||
#line 1681 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
|
@ -1600,7 +1686,7 @@ int main() {
|
|||
struct tm *tp;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1690: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_header_time=yes
|
||||
else
|
||||
|
@ -1623,13 +1709,13 @@ fi
|
|||
|
||||
if test $ac_cv_prog_gcc = yes; then
|
||||
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
|
||||
echo "configure:1627: checking whether ${CC-cc} needs -traditional" >&5
|
||||
echo "configure:1713: checking whether ${CC-cc} needs -traditional" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_pattern="Autoconf.*'x'"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1633 "configure"
|
||||
#line 1719 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sgtty.h>
|
||||
Autoconf TIOCGETP
|
||||
|
@ -1647,7 +1733,7 @@ rm -f conftest*
|
|||
|
||||
if test $ac_cv_prog_gcc_traditional = no; then
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1651 "configure"
|
||||
#line 1737 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <termio.h>
|
||||
Autoconf TCGETA
|
||||
|
@ -1669,12 +1755,12 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
|
||||
echo "configure:1673: checking for vprintf" >&5
|
||||
echo "configure:1759: checking for vprintf" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1678 "configure"
|
||||
#line 1764 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char vprintf(); below. */
|
||||
|
@ -1697,7 +1783,7 @@ vprintf();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:1787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_vprintf=yes"
|
||||
else
|
||||
|
@ -1721,12 +1807,12 @@ fi
|
|||
|
||||
if test "$ac_cv_func_vprintf" != yes; then
|
||||
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
|
||||
echo "configure:1725: checking for _doprnt" >&5
|
||||
echo "configure:1811: checking for _doprnt" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1730 "configure"
|
||||
#line 1816 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char _doprnt(); below. */
|
||||
|
@ -1749,7 +1835,7 @@ _doprnt();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:1839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func__doprnt=yes"
|
||||
else
|
||||
|
@ -1774,7 +1860,7 @@ fi
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for wait3 that fills in rusage""... $ac_c" 1>&6
|
||||
echo "configure:1778: checking for wait3 that fills in rusage" >&5
|
||||
echo "configure:1864: checking for wait3 that fills in rusage" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_wait3_rusage'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -1782,7 +1868,7 @@ else
|
|||
ac_cv_func_wait3_rusage=no
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1786 "configure"
|
||||
#line 1872 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
|
@ -1802,6 +1888,8 @@ main() {
|
|||
r.ru_majflt = r.ru_minflt = 0;
|
||||
switch (fork()) {
|
||||
case 0: /* Child. */
|
||||
/* Unless we actually _do_ something, the kernel sometimes doesn't chalk up any system time to this process. */
|
||||
if(fork()) { i = 123; wait(NULL); } else { i = 234; exit(0); }
|
||||
sleep(1); /* Give up the CPU. */
|
||||
_exit(0);
|
||||
case -1: _exit(0); /* What can we do? */
|
||||
|
@ -1813,7 +1901,7 @@ main() {
|
|||
}
|
||||
}
|
||||
EOF
|
||||
if { (eval echo configure:1817: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:1905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_func_wait3_rusage=yes
|
||||
else
|
||||
|
@ -1838,12 +1926,12 @@ fi
|
|||
for ac_func in gethostname gettimeofday mkdir select socket strstr uname
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:1842: checking for $ac_func" >&5
|
||||
echo "configure:1930: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1847 "configure"
|
||||
#line 1935 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -1866,7 +1954,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:1958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
|
|
@ -20,6 +20,10 @@ dnl Replace `main' with a function in -lstdc:
|
|||
AC_CHECK_LIB(stdc, main)
|
||||
dnl Replace `main' with a function in -lz:
|
||||
AC_CHECK_LIB(z, gzopen)
|
||||
dnl check for pthread
|
||||
AC_CHECK_LIB(pthread, pthread_mutex_init, AC_DEFINE(HAVE_PTHREAD))
|
||||
dnl check for GL library
|
||||
AC_CHECK_LIB(GL, glCallList, AC_DEFINE(HAVE_GL_LIB))
|
||||
|
||||
dnl Checks for header files.
|
||||
AC_HEADER_DIRENT
|
||||
|
|
Loading…
Reference in New Issue