]>
Commit | Line | Data |
---|---|---|
8414a40c VZ |
1 | dnl --------------------------------------------------------------------------- |
2 | dnl Message output | |
3 | dnl --------------------------------------------------------------------------- | |
4 | AC_DEFUN([LOC_MSG],[echo "$1"]) | |
5 | ||
6 | dnl --------------------------------------------------------------------------- | |
7 | dnl Available from the GNU Autoconf Macro Archive at: | |
8 | dnl http://www.gnu.org/software/ac-archive/vl_prog_cc_warnings.html | |
9 | dnl --------------------------------------------------------------------------- | |
10 | ||
11 | dnl @synopsis VL_PROG_CC_WARNINGS([ANSI]) | |
12 | dnl | |
13 | dnl Enables a reasonable set of warnings for the C compiler. | |
14 | dnl Optionally, if the first argument is nonempty, turns on flags which | |
15 | dnl enforce and/or enable proper ANSI C if such are known with the | |
16 | dnl compiler used. | |
17 | dnl | |
18 | dnl Currently this macro knows about GCC, Solaris C compiler, Digital | |
19 | dnl Unix C compiler, C for AIX Compiler, HP-UX C compiler, IRIX C | |
20 | dnl compiler, NEC SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos | |
21 | dnl 10.0.0.8) C compiler. | |
22 | dnl | |
23 | dnl @category C | |
24 | dnl @author Ville Laurikari <vl@iki.fi> | |
25 | dnl @version 2002-04-04 | |
26 | dnl @license AllPermissive | |
27 | ||
28 | AC_DEFUN([VL_PROG_CC_WARNINGS], [ | |
29 | ansi=$1 | |
30 | if test -z "$ansi"; then | |
31 | msg="for C compiler warning flags" | |
32 | else | |
33 | msg="for C compiler warning and ANSI conformance flags" | |
34 | fi | |
35 | AC_CACHE_CHECK($msg, vl_cv_prog_cc_warnings, [ | |
36 | if test -n "$CC"; then | |
37 | cat > conftest.c <<EOF | |
38 | int main(int argc, char **argv) { return 0; } | |
39 | EOF | |
40 | ||
41 | dnl GCC. -W option has been renamed in -wextra in latest gcc versions. | |
42 | if test "$GCC" = "yes"; then | |
43 | if test -z "$ansi"; then | |
44 | vl_cv_prog_cc_warnings="-Wall -W" | |
45 | else | |
46 | vl_cv_prog_cc_warnings="-Wall -W -ansi -pedantic" | |
47 | fi | |
48 | ||
49 | dnl Most compilers print some kind of a version string with some command | |
50 | dnl line options (often "-V"). The version string should be checked | |
51 | dnl before doing a test compilation run with compiler-specific flags. | |
52 | dnl This is because some compilers (like the Cray compiler) only | |
53 | dnl produce a warning message for unknown flags instead of returning | |
54 | dnl an error, resulting in a false positive. Also, compilers may do | |
55 | dnl erratic things when invoked with flags meant for a different | |
56 | dnl compiler. | |
57 | ||
58 | dnl Solaris C compiler | |
59 | elif $CC -V 2>&1 | grep -i "WorkShop" > /dev/null 2>&1 && | |
60 | $CC -c -v -Xc conftest.c > /dev/null 2>&1 && | |
61 | test -f conftest.o; then | |
62 | if test -z "$ansi"; then | |
63 | vl_cv_prog_cc_warnings="-v" | |
64 | else | |
65 | vl_cv_prog_cc_warnings="-v -Xc" | |
66 | fi | |
67 | ||
68 | dnl Digital Unix C compiler | |
69 | elif $CC -V 2>&1 | grep -i "Digital UNIX Compiler" > /dev/null 2>&1 && | |
70 | $CC -c -verbose -w0 -warnprotos -std1 conftest.c > /dev/null 2>&1 && | |
71 | test -f conftest.o; then | |
72 | if test -z "$ansi"; then | |
73 | vl_cv_prog_cc_warnings="-verbose -w0 -warnprotos" | |
74 | else | |
75 | vl_cv_prog_cc_warnings="-verbose -w0 -warnprotos -std1" | |
76 | fi | |
77 | ||
78 | dnl C for AIX Compiler | |
79 | elif $CC 2>&1 | grep -i "C for AIX Compiler" > /dev/null 2>&1 && | |
80 | $CC -c -qlanglvl=ansi -qinfo=all conftest.c > /dev/null 2>&1 && | |
81 | test -f conftest.o; then | |
82 | if test -z "$ansi"; then | |
83 | vl_cv_prog_cc_warnings="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" | |
84 | else | |
85 | vl_cv_prog_cc_warnings="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd -qlanglvl=ansi" | |
86 | fi | |
87 | ||
88 | dnl IRIX C compiler | |
89 | elif $CC -version 2>&1 | grep -i "MIPSpro Compilers" > /dev/null 2>&1 && | |
90 | $CC -c -fullwarn -ansi -ansiE conftest.c > /dev/null 2>&1 && | |
91 | test -f conftest.o; then | |
92 | if test -z "$ansi"; then | |
93 | vl_cv_prog_cc_warnings="-fullwarn" | |
94 | else | |
95 | vl_cv_prog_cc_warnings="-fullwarn -ansi -ansiE" | |
96 | fi | |
97 | ||
98 | dnl HP-UX C compiler | |
99 | elif what $CC 2>&1 | grep -i "HP C Compiler" > /dev/null 2>&1 && | |
100 | $CC -c -Aa +w1 conftest.c > /dev/null 2>&1 && | |
101 | test -f conftest.o; then | |
102 | if test -z "$ansi"; then | |
103 | vl_cv_prog_cc_warnings="+w1" | |
104 | else | |
105 | vl_cv_prog_cc_warnings="+w1 -Aa" | |
106 | fi | |
107 | ||
108 | dnl The NEC SX-5 (Super-UX 10) C compiler | |
109 | elif $CC -V 2>&1 | grep "/SX" > /dev/null 2>&1 && | |
110 | $CC -c -pvctl[,]fullmsg -Xc conftest.c > /dev/null 2>&1 && | |
111 | test -f conftest.o; then | |
112 | if test -z "$ansi"; then | |
113 | vl_cv_prog_cc_warnings="-pvctl[,]fullmsg" | |
114 | else | |
115 | vl_cv_prog_cc_warnings="-pvctl[,]fullmsg -Xc" | |
116 | fi | |
117 | ||
118 | dnl The Cray C compiler (Unicos) | |
119 | elif $CC -V 2>&1 | grep -i "Cray" > /dev/null 2>&1 && | |
120 | $CC -c -h msglevel 2 conftest.c > /dev/null 2>&1 && | |
121 | test -f conftest.o; then | |
122 | if test -z "$ansi"; then | |
123 | vl_cv_prog_cc_warnings="-h msglevel 2" | |
124 | else | |
125 | vl_cv_prog_cc_warnings="-h msglevel 2 -h conform" | |
126 | fi | |
127 | ||
128 | fi | |
129 | rm -f conftest.* | |
130 | fi | |
131 | if test -n "$vl_cv_prog_cc_warnings"; then | |
132 | CFLAGS="$CFLAGS $vl_cv_prog_cc_warnings" | |
133 | else | |
134 | vl_cv_prog_cc_warnings="unknown" | |
135 | fi | |
136 | ]) | |
137 | ])dnl | |
138 | ||
139 | dnl --------------------------------------------------------------------------- | |
140 | dnl Available from the GNU Autoconf Macro Archive at: | |
141 | dnl http://autoconf-archive.cryp.to/ax_lang_compiler_ms.html | |
142 | dnl --------------------------------------------------------------------------- | |
143 | ||
144 | dnl @synopsis AX_LANG_COMPILER_MS | |
145 | dnl | |
146 | dnl Check whether the compiler for the current language is Microsoft. | |
147 | dnl | |
148 | dnl This macro is modeled after _AC_LANG_COMPILER_GNU in the GNU | |
149 | dnl Autoconf implementation. | |
150 | dnl | |
151 | dnl @category InstalledPackages | |
152 | dnl @author Braden McDaniel <braden@endoframe.com> | |
153 | dnl @version 2004-11-15 | |
154 | dnl @license AllPermissive | |
155 | ||
156 | AC_DEFUN([AX_LANG_COMPILER_MS], | |
157 | [AC_CACHE_CHECK([whether we are using the Microsoft _AC_LANG compiler], | |
158 | [ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms], | |
159 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef _MSC_VER | |
160 | choke me | |
161 | #endif | |
162 | ]])], | |
163 | [ax_compiler_ms=yes], | |
164 | [ax_compiler_ms=no]) | |
165 | ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms=$ax_compiler_ms | |
166 | ])]) | |
167 | ||
168 | dnl --------------------------------------------------------------------------- | |
169 | dnl Available from the GNU Autoconf Macro Archive at: | |
170 | dnl http://www.gnu.org/software/ac-archive/ax_check_gl.html | |
171 | dnl --------------------------------------------------------------------------- | |
172 | ||
80ed523f | 173 | dnl SYNOPSIS |
8414a40c | 174 | dnl |
80ed523f | 175 | dnl AX_CHECK_GL |
8414a40c | 176 | dnl |
80ed523f VZ |
177 | dnl DESCRIPTION |
178 | dnl | |
179 | dnl Check for an OpenGL implementation. If GL is found, the required | |
180 | dnl compiler and linker flags are included in the output variables | |
181 | dnl "GL_CFLAGS" and "GL_LIBS", respectively. If no usable GL implementation | |
182 | dnl is found, "no_gl" is set to "yes". | |
183 | dnl | |
184 | dnl If the header "GL/gl.h" is found, "HAVE_GL_GL_H" is defined. If the | |
185 | dnl header "OpenGL/gl.h" is found, HAVE_OPENGL_GL_H is defined. These | |
186 | dnl preprocessor definitions may not be mutually exclusive. | |
187 | dnl | |
188 | dnl LICENSE | |
189 | dnl | |
190 | dnl Copyright (c) 2009 Braden McDaniel <braden@endoframe.com> | |
191 | dnl | |
192 | dnl This program is free software; you can redistribute it and/or modify it | |
193 | dnl under the terms of the GNU General Public License as published by the | |
194 | dnl Free Software Foundation; either version 2 of the License, or (at your | |
195 | dnl option) any later version. | |
196 | dnl | |
197 | dnl This program is distributed in the hope that it will be useful, but | |
198 | dnl WITHOUT ANY WARRANTY; without even the implied warranty of | |
199 | dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | |
200 | dnl Public License for more details. | |
201 | dnl | |
202 | dnl You should have received a copy of the GNU General Public License along | |
203 | dnl with this program. If not, see <http://www.gnu.org/licenses/>. | |
204 | dnl | |
205 | dnl As a special exception, the respective Autoconf Macro's copyright owner | |
206 | dnl gives unlimited permission to copy, distribute and modify the configure | |
207 | dnl scripts that are the output of Autoconf when processing the Macro. You | |
208 | dnl need not follow the terms of the GNU General Public License when using | |
209 | dnl or distributing such scripts, even though portions of the text of the | |
210 | dnl Macro appear in them. The GNU General Public License (GPL) does govern | |
211 | dnl all other use of the material that constitutes the Autoconf Macro. | |
212 | dnl | |
213 | dnl This special exception to the GPL applies to versions of the Autoconf | |
214 | dnl Macro released by the Autoconf Archive. When you make and distribute a | |
215 | dnl modified version of the Autoconf Macro, you may extend this special | |
216 | dnl exception to the GPL to apply to your modified version as well. | |
8414a40c VZ |
217 | |
218 | AC_DEFUN([AX_CHECK_GL], | |
80ed523f VZ |
219 | [AC_REQUIRE([AC_CANONICAL_HOST]) |
220 | AC_REQUIRE([AC_PATH_X])dnl | |
221 | AC_REQUIRE([AX_PTHREAD])dnl | |
8414a40c | 222 | |
80ed523f VZ |
223 | AC_LANG_PUSH([C]) |
224 | AX_LANG_COMPILER_MS | |
225 | AS_IF([test X$ax_compiler_ms = Xno], | |
226 | [GL_CFLAGS="${PTHREAD_CFLAGS}"; GL_LIBS="${PTHREAD_LIBS} -lm"]) | |
8414a40c | 227 | |
80ed523f VZ |
228 | dnl |
229 | dnl Use x_includes and x_libraries if they have been set (presumably by | |
230 | dnl AC_PATH_X). | |
231 | dnl | |
232 | AS_IF([test "X$no_x" != "Xyes"], | |
233 | [AS_IF([test -n "$x_includes"], | |
234 | [GL_CFLAGS="-I${x_includes} ${GL_CFLAGS}"])] | |
235 | AS_IF([test -n "$x_libraries"], | |
236 | [GL_LIBS="-L${x_libraries} -lX11 ${GL_LIBS}"])) | |
237 | ||
238 | ax_save_CPPFLAGS="${CPPFLAGS}" | |
239 | CPPFLAGS="${GL_CFLAGS} ${CPPFLAGS}" | |
240 | AC_CHECK_HEADERS([GL/gl.h OpenGL/gl.h]) | |
241 | CPPFLAGS="${ax_save_CPPFLAGS}" | |
242 | ||
243 | AC_CHECK_HEADERS([windows.h]) | |
244 | ||
245 | m4_define([AX_CHECK_GL_PROGRAM], | |
246 | [AC_LANG_PROGRAM([[ | |
247 | # if defined(HAVE_WINDOWS_H) && defined(_WIN32) | |
8414a40c VZ |
248 | # include <windows.h> |
249 | # endif | |
80ed523f VZ |
250 | # ifdef HAVE_GL_GL_H |
251 | # include <GL/gl.h> | |
252 | # elif defined(HAVE_OPENGL_GL_H) | |
253 | # include <OpenGL/gl.h> | |
254 | # else | |
255 | # error no gl.h | |
256 | # endif]], | |
257 | [[glBegin(0)]])]) | |
258 | ||
259 | AC_CACHE_CHECK([for OpenGL library], [ax_cv_check_gl_libgl], | |
260 | [ax_cv_check_gl_libgl="no" | |
261 | case $host_cpu in | |
262 | x86_64) ax_check_gl_libdir=lib64 ;; | |
263 | *) ax_check_gl_libdir=lib ;; | |
264 | esac | |
265 | ax_save_CPPFLAGS="${CPPFLAGS}" | |
266 | CPPFLAGS="${GL_CFLAGS} ${CPPFLAGS}" | |
267 | ax_save_LIBS="${LIBS}" | |
268 | LIBS="" | |
269 | ax_check_libs="-lopengl32 -lGL" | |
270 | for ax_lib in ${ax_check_libs}; do | |
271 | AS_IF([test X$ax_compiler_ms = Xyes], | |
272 | [ax_try_lib=`echo $ax_lib | sed -e 's/^-l//' -e 's/$/.lib/'`], | |
273 | [ax_try_lib="${ax_lib}"]) | |
274 | LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}" | |
275 | AC_LINK_IFELSE([AX_CHECK_GL_PROGRAM], | |
276 | [ax_cv_check_gl_libgl="${ax_try_lib}"; break], | |
277 | [ax_check_gl_nvidia_flags="-L/usr/${ax_check_gl_libdir}/nvidia" LIBS="${ax_try_lib} ${ax_check_gl_nvidia_flags} ${GL_LIBS} ${ax_save_LIBS}" | |
278 | AC_LINK_IFELSE([AX_CHECK_GL_PROGRAM], | |
279 | [ax_cv_check_gl_libgl="${ax_try_lib} ${ax_check_gl_nvidia_flags}"; break], | |
280 | [ax_check_gl_dylib_flag='-dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib' LIBS="${ax_try_lib} ${ax_check_gl_dylib_flag} ${GL_LIBS} ${ax_save_LIBS}" | |
281 | AC_LINK_IFELSE([AX_CHECK_GL_PROGRAM], | |
282 | [ax_cv_check_gl_libgl="${ax_try_lib} ${ax_check_gl_dylib_flag}"; break])])]) | |
283 | done | |
284 | ||
285 | AS_IF([test "X$ax_cv_check_gl_libgl" = Xno -a "X$no_x" = Xyes], | |
286 | [LIBS='-framework OpenGL' | |
287 | AC_LINK_IFELSE([AX_CHECK_GL_PROGRAM], | |
288 | [ax_cv_check_gl_libgl="$LIBS"])]) | |
289 | ||
290 | LIBS=${ax_save_LIBS} | |
291 | CPPFLAGS=${ax_save_CPPFLAGS}]) | |
292 | ||
293 | AS_IF([test "X$ax_cv_check_gl_libgl" = Xno], | |
294 | [no_gl=yes; GL_CFLAGS=""; GL_LIBS=""], | |
295 | [GL_LIBS="${ax_cv_check_gl_libgl} ${GL_LIBS}"]) | |
296 | AC_LANG_POP([C]) | |
8414a40c VZ |
297 | |
298 | AC_SUBST([GL_CFLAGS]) | |
299 | AC_SUBST([GL_LIBS]) | |
300 | ])dnl | |
301 | ||
302 | dnl --------------------------------------------------------------------------- | |
303 | dnl Available from the GNU Autoconf Macro Archive at: | |
304 | dnl http://www.gnu.org/software/ac-archive/ax_check_glu.html | |
305 | dnl --------------------------------------------------------------------------- | |
306 | ||
80ed523f | 307 | dnl SYNOPSIS |
8414a40c | 308 | dnl |
80ed523f | 309 | dnl AX_CHECK_GLU |
8414a40c | 310 | dnl |
80ed523f VZ |
311 | dnl DESCRIPTION |
312 | dnl | |
313 | dnl Check for GLU. If GLU is found, the required preprocessor and linker | |
314 | dnl flags are included in the output variables "GLU_CFLAGS" and "GLU_LIBS", | |
315 | dnl respectively. If no GLU implementation is found, "no_glu" is set to | |
316 | dnl "yes". | |
317 | dnl | |
318 | dnl If the header "GL/glu.h" is found, "HAVE_GL_GLU_H" is defined. If the | |
319 | dnl header "OpenGL/glu.h" is found, HAVE_OPENGL_GLU_H is defined. These | |
320 | dnl preprocessor definitions may not be mutually exclusive. | |
321 | dnl | |
322 | dnl Some implementations (in particular, some versions of Mac OS X) are | |
323 | dnl known to treat the GLU tesselator callback function type as "GLvoid | |
324 | dnl (*)(...)" rather than the standard "GLvoid (*)()". If the former | |
325 | dnl condition is detected, this macro defines "HAVE_VARARGS_GLU_TESSCB". | |
326 | dnl | |
327 | dnl LICENSE | |
328 | dnl | |
329 | dnl Copyright (c) 2009 Braden McDaniel <braden@endoframe.com> | |
330 | dnl | |
331 | dnl This program is free software; you can redistribute it and/or modify it | |
332 | dnl under the terms of the GNU General Public License as published by the | |
333 | dnl Free Software Foundation; either version 2 of the License, or (at your | |
334 | dnl option) any later version. | |
335 | dnl | |
336 | dnl This program is distributed in the hope that it will be useful, but | |
337 | dnl WITHOUT ANY WARRANTY; without even the implied warranty of | |
338 | dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | |
339 | dnl Public License for more details. | |
340 | dnl | |
341 | dnl You should have received a copy of the GNU General Public License along | |
342 | dnl with this program. If not, see <http://www.gnu.org/licenses/>. | |
343 | dnl | |
344 | dnl As a special exception, the respective Autoconf Macro's copyright owner | |
345 | dnl gives unlimited permission to copy, distribute and modify the configure | |
346 | dnl scripts that are the output of Autoconf when processing the Macro. You | |
347 | dnl need not follow the terms of the GNU General Public License when using | |
348 | dnl or distributing such scripts, even though portions of the text of the | |
349 | dnl Macro appear in them. The GNU General Public License (GPL) does govern | |
350 | dnl all other use of the material that constitutes the Autoconf Macro. | |
351 | dnl | |
352 | dnl This special exception to the GPL applies to versions of the Autoconf | |
353 | dnl Macro released by the Autoconf Archive. When you make and distribute a | |
354 | dnl modified version of the Autoconf Macro, you may extend this special | |
355 | dnl exception to the GPL to apply to your modified version as well. | |
8414a40c VZ |
356 | |
357 | AC_DEFUN([AX_CHECK_GLU], | |
358 | [AC_REQUIRE([AX_CHECK_GL])dnl | |
359 | AC_REQUIRE([AC_PROG_CXX])dnl | |
360 | GLU_CFLAGS="${GL_CFLAGS}" | |
80ed523f VZ |
361 | |
362 | ax_save_CPPFLAGS="${CPPFLAGS}" | |
363 | CPPFLAGS="${GL_CFLAGS} ${CPPFLAGS}" | |
364 | AC_CHECK_HEADERS([GL/glu.h OpenGL/glu.h]) | |
365 | CPPFLAGS="${ax_save_CPPFLAGS}" | |
366 | ||
367 | m4_define([AX_CHECK_GLU_PROGRAM], | |
368 | [AC_LANG_PROGRAM([[ | |
369 | # if defined(HAVE_WINDOWS_H) && defined(_WIN32) | |
8414a40c VZ |
370 | # include <windows.h> |
371 | # endif | |
80ed523f VZ |
372 | # ifdef HAVE_GL_GLU_H |
373 | # include <GL/glu.h> | |
374 | # elif defined(HAVE_OPENGL_GLU_H) | |
375 | # include <OpenGL/glu.h> | |
376 | # else | |
377 | # error no glu.h | |
378 | # endif]], | |
379 | [[gluBeginCurve(0)]])]) | |
380 | ||
381 | AC_CACHE_CHECK([for OpenGL Utility library], [ax_cv_check_glu_libglu], | |
382 | [ax_cv_check_glu_libglu="no" | |
383 | ax_save_CPPFLAGS="${CPPFLAGS}" | |
384 | CPPFLAGS="${GL_CFLAGS} ${CPPFLAGS}" | |
385 | ax_save_LIBS="${LIBS}" | |
386 | ||
387 | dnl | |
388 | dnl First, check for the possibility that everything we need is already in | |
389 | dnl GL_LIBS. | |
390 | dnl | |
391 | LIBS="${GL_LIBS} ${ax_save_LIBS}" | |
392 | dnl | |
393 | dnl libGLU typically links with libstdc++ on POSIX platforms. | |
394 | dnl However, setting the language to C++ means that test program | |
395 | dnl source is named "conftest.cc"; and Microsoft cl doesn't know what | |
396 | dnl to do with such a file. | |
397 | dnl | |
398 | AC_LANG_PUSH([C++]) | |
399 | AS_IF([test X$ax_compiler_ms = Xyes], | |
400 | [AC_LANG_PUSH([C])]) | |
401 | AC_LINK_IFELSE( | |
402 | [AX_CHECK_GLU_PROGRAM], | |
403 | [ax_cv_check_glu_libglu=yes], | |
404 | [LIBS="" | |
405 | ax_check_libs="-lglu32 -lGLU" | |
406 | for ax_lib in ${ax_check_libs}; do | |
407 | AS_IF([test X$ax_compiler_ms = Xyes], | |
408 | [ax_try_lib=`echo $ax_lib | sed -e 's/^-l//' -e 's/$/.lib/'`], | |
409 | [ax_try_lib="${ax_lib}"]) | |
410 | LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}" | |
411 | AC_LINK_IFELSE([AX_CHECK_GLU_PROGRAM], | |
412 | [ax_cv_check_glu_libglu="${ax_try_lib}"; break]) | |
413 | done | |
414 | ]) | |
415 | AS_IF([test X$ax_compiler_ms = Xyes], | |
416 | [AC_LANG_POP([C])]) | |
417 | AC_LANG_POP([C++]) | |
418 | ||
419 | LIBS=${ax_save_LIBS} | |
420 | CPPFLAGS=${ax_save_CPPFLAGS}]) | |
421 | AS_IF([test "X$ax_cv_check_glu_libglu" = Xno], | |
422 | [no_glu=yes; GLU_CFLAGS=""; GLU_LIBS=""], | |
423 | [AS_IF([test "X$ax_cv_check_glu_libglu" = Xyes], | |
424 | [GLU_LIBS="$GL_LIBS"], | |
425 | [GLU_LIBS="${ax_cv_check_glu_libglu} ${GL_LIBS}"])]) | |
8414a40c VZ |
426 | AC_SUBST([GLU_CFLAGS]) |
427 | AC_SUBST([GLU_LIBS]) | |
80ed523f VZ |
428 | |
429 | dnl | |
430 | dnl Some versions of Mac OS X include a broken interpretation of the GLU | |
431 | dnl tesselation callback function signature. | |
432 | dnl | |
433 | AS_IF([test "X$ax_cv_check_glu_libglu" != Xno], | |
434 | [AC_CACHE_CHECK([for varargs GLU tesselator callback function type], | |
435 | [ax_cv_varargs_glu_tesscb], | |
436 | [ax_cv_varargs_glu_tesscb=no | |
437 | ax_save_CFLAGS="$CFLAGS" | |
438 | CFLAGS="$GL_CFLAGS $CFLAGS" | |
439 | AC_COMPILE_IFELSE( | |
440 | [AC_LANG_PROGRAM([[ | |
441 | # ifdef HAVE_GL_GLU_H | |
442 | # include <GL/glu.h> | |
443 | # else | |
444 | # include <OpenGL/glu.h> | |
445 | # endif]], | |
446 | [[GLvoid (*func)(...); gluTessCallback(0, 0, func)]])], | |
447 | [ax_cv_varargs_glu_tesscb=yes]) | |
448 | CFLAGS="$ax_save_CFLAGS"]) | |
449 | AS_IF([test X$ax_cv_varargs_glu_tesscb = Xyes], | |
450 | [AC_DEFINE([HAVE_VARARGS_GLU_TESSCB], [1], | |
451 | [Use nonstandard varargs form for the GLU tesselator callback])])]) | |
8414a40c VZ |
452 | ]) |
453 | ||
454 | dnl --------------------------------------------------------------------------- | |
455 | dnl Available from the GNU Autoconf Macro Archive at: | |
456 | dnl http://www.gnu.org/software/ac-archive/ax_check_glut.html | |
457 | dnl --------------------------------------------------------------------------- | |
458 | ||
8414a40c | 459 | dnl |
80ed523f | 460 | dnl SYNOPSIS |
8414a40c | 461 | dnl |
80ed523f VZ |
462 | dnl AX_CHECK_GLUT |
463 | dnl | |
464 | dnl DESCRIPTION | |
465 | dnl | |
466 | dnl Check for GLUT. If GLUT is found, the required compiler and linker flags | |
467 | dnl are included in the output variables "GLUT_CFLAGS" and "GLUT_LIBS", | |
468 | dnl respectively. If GLUT is not found, "no_glut" is set to "yes". | |
469 | dnl | |
470 | dnl If the header "GL/glut.h" is found, "HAVE_GL_GLUT_H" is defined. If the | |
471 | dnl header "GLUT/glut.h" is found, HAVE_GLUT_GLUT_H is defined. These | |
472 | dnl preprocessor definitions may not be mutually exclusive. | |
473 | dnl | |
474 | dnl LICENSE | |
475 | dnl | |
476 | dnl Copyright (c) 2009 Braden McDaniel <braden@endoframe.com> | |
477 | dnl | |
478 | dnl This program is free software; you can redistribute it and/or modify it | |
479 | dnl under the terms of the GNU General Public License as published by the | |
480 | dnl Free Software Foundation; either version 2 of the License, or (at your | |
481 | dnl option) any later version. | |
482 | dnl | |
483 | dnl This program is distributed in the hope that it will be useful, but | |
484 | dnl WITHOUT ANY WARRANTY; without even the implied warranty of | |
485 | dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | |
486 | dnl Public License for more details. | |
487 | dnl | |
488 | dnl You should have received a copy of the GNU General Public License along | |
489 | dnl with this program. If not, see <http://www.gnu.org/licenses/>. | |
490 | dnl | |
491 | dnl As a special exception, the respective Autoconf Macro's copyright owner | |
492 | dnl gives unlimited permission to copy, distribute and modify the configure | |
493 | dnl scripts that are the output of Autoconf when processing the Macro. You | |
494 | dnl need not follow the terms of the GNU General Public License when using | |
495 | dnl or distributing such scripts, even though portions of the text of the | |
496 | dnl Macro appear in them. The GNU General Public License (GPL) does govern | |
497 | dnl all other use of the material that constitutes the Autoconf Macro. | |
498 | dnl | |
499 | dnl This special exception to the GPL applies to versions of the Autoconf | |
500 | dnl Macro released by the Autoconf Archive. When you make and distribute a | |
501 | dnl modified version of the Autoconf Macro, you may extend this special | |
502 | dnl exception to the GPL to apply to your modified version as well. | |
8414a40c VZ |
503 | |
504 | AC_DEFUN([AX_CHECK_GLUT], | |
505 | [AC_REQUIRE([AX_CHECK_GLU])dnl | |
506 | AC_REQUIRE([AC_PATH_XTRA])dnl | |
507 | ||
80ed523f VZ |
508 | ax_save_CPPFLAGS="${CPPFLAGS}" |
509 | CPPFLAGS="${GLU_CFLAGS} ${CPPFLAGS}" | |
510 | AC_CHECK_HEADERS([GL/glut.h GLUT/glut.h]) | |
511 | CPPFLAGS="${ax_save_CPPFLAGS}" | |
8414a40c | 512 | |
80ed523f VZ |
513 | GLUT_CFLAGS=${GLU_CFLAGS} |
514 | GLUT_LIBS=${GLU_LIBS} | |
8414a40c | 515 | |
80ed523f VZ |
516 | m4_define([AX_CHECK_GLUT_PROGRAM], |
517 | [AC_LANG_PROGRAM([[ | |
8414a40c VZ |
518 | # if HAVE_WINDOWS_H && defined(_WIN32) |
519 | # include <windows.h> | |
520 | # endif | |
80ed523f VZ |
521 | # ifdef HAVE_GL_GLUT_H |
522 | # include <GL/glut.h> | |
523 | # elif defined(HAVE_GLUT_GLUT_H) | |
524 | # include <GLUT/glut.h> | |
525 | # else | |
526 | # error no glut.h | |
527 | # endif]], | |
528 | [[glutMainLoop()]])]) | |
8414a40c | 529 | |
80ed523f VZ |
530 | dnl |
531 | dnl If X is present, assume GLUT depends on it. | |
532 | dnl | |
533 | AS_IF([test X$no_x != Xyes], | |
534 | [GLUT_LIBS="${X_PRE_LIBS} -lXi ${X_EXTRA_LIBS} ${GLUT_LIBS}"]) | |
535 | ||
536 | AC_CACHE_CHECK([for GLUT library], [ax_cv_check_glut_libglut], | |
537 | [ax_cv_check_glut_libglut="no" | |
538 | AC_LANG_PUSH(C) | |
539 | ax_save_CPPFLAGS="${CPPFLAGS}" | |
540 | CPPFLAGS="${GLUT_CFLAGS} ${CPPFLAGS}" | |
541 | ax_save_LIBS="${LIBS}" | |
542 | LIBS="" | |
543 | ax_check_libs="-lglut32 -lglut" | |
544 | for ax_lib in ${ax_check_libs}; do | |
545 | AS_IF([test X$ax_compiler_ms = Xyes], | |
546 | [ax_try_lib=`echo $ax_lib | sed -e 's/^-l//' -e 's/$/.lib/'`], | |
547 | [ax_try_lib="${ax_lib}"]) | |
548 | LIBS="${ax_try_lib} ${GLUT_LIBS} ${ax_save_LIBS}" | |
549 | AC_LINK_IFELSE([AX_CHECK_GLUT_PROGRAM], | |
550 | [ax_cv_check_glut_libglut="${ax_try_lib}"; break]) | |
551 | done | |
8414a40c | 552 | |
80ed523f VZ |
553 | AS_IF([test "X$ax_cv_check_glut_libglut" = Xno -a "X$no_x" = Xyes], |
554 | [LIBS='-framework GLUT' | |
555 | AC_LINK_IFELSE([AX_CHECK_GLUT_PROGRAM], | |
556 | [ax_cv_check_glut_libglut="$LIBS"])]) | |
557 | ||
558 | CPPFLAGS="${ax_save_CPPFLAGS}" | |
559 | LIBS="${ax_save_LIBS}" | |
560 | AC_LANG_POP(C)]) | |
561 | ||
562 | AS_IF([test "X$ax_cv_check_glut_libglut" = Xno], | |
563 | [no_glut="yes"; GLUT_CFLAGS=""; GLUT_LIBS=""], | |
564 | [GLUT_LIBS="${ax_cv_check_glut_libglut} ${GLUT_LIBS}"]) | |
8414a40c VZ |
565 | |
566 | AC_SUBST([GLUT_CFLAGS]) | |
567 | AC_SUBST([GLUT_LIBS]) | |
568 | ])dnl | |
569 | ||
570 | dnl --------------------------------------------------------------------------- | |
571 | dnl Available from the GNU Autoconf Macro Archive at: | |
80ed523f | 572 | dnl http://www.gnu.org/software/autoconf-archive/ax_pthread.html |
8414a40c VZ |
573 | dnl --------------------------------------------------------------------------- |
574 | ||
80ed523f | 575 | dnl SYNOPSIS |
8414a40c | 576 | dnl |
80ed523f | 577 | dnl AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) |
8414a40c | 578 | dnl |
80ed523f | 579 | dnl DESCRIPTION |
8414a40c | 580 | dnl |
80ed523f VZ |
581 | dnl This macro figures out how to build C programs using POSIX threads. It |
582 | dnl sets the PTHREAD_LIBS output variable to the threads library and linker | |
583 | dnl flags, and the PTHREAD_CFLAGS output variable to any special C compiler | |
584 | dnl flags that are needed. (The user can also force certain compiler | |
585 | dnl flags/libs to be tested by setting these environment variables.) | |
8414a40c | 586 | dnl |
80ed523f VZ |
587 | dnl Also sets PTHREAD_CC to any special C compiler that is needed for |
588 | dnl multi-threaded programs (defaults to the value of CC otherwise). (This | |
589 | dnl is necessary on AIX to use the special cc_r compiler alias.) | |
8414a40c | 590 | dnl |
80ed523f VZ |
591 | dnl NOTE: You are assumed to not only compile your program with these flags, |
592 | dnl but also link it with them as well. e.g. you should link with | |
593 | dnl $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS | |
8414a40c | 594 | dnl |
80ed523f VZ |
595 | dnl If you are only building threads programs, you may wish to use these |
596 | dnl variables in your default LIBS, CFLAGS, and CC: | |
8414a40c | 597 | dnl |
80ed523f VZ |
598 | dnl LIBS="$PTHREAD_LIBS $LIBS" |
599 | dnl CFLAGS="$CFLAGS $PTHREAD_CFLAGS" | |
600 | dnl CC="$PTHREAD_CC" | |
8414a40c | 601 | dnl |
80ed523f VZ |
602 | dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant |
603 | dnl has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name | |
604 | dnl (e.g. PTHREAD_CREATE_UNDETACHED on AIX). | |
8414a40c | 605 | dnl |
80ed523f VZ |
606 | dnl ACTION-IF-FOUND is a list of shell commands to run if a threads library |
607 | dnl is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it | |
608 | dnl is not found. If ACTION-IF-FOUND is not specified, the default action | |
609 | dnl will define HAVE_PTHREAD. | |
610 | dnl | |
611 | dnl Please let the authors know if this macro fails on any platform, or if | |
612 | dnl you have any other suggestions or comments. This macro was based on work | |
613 | dnl by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help | |
614 | dnl from M. Frigo), as well as ac_pthread and hb_pthread macros posted by | |
615 | dnl Alejandro Forero Cuervo to the autoconf macro repository. We are also | |
616 | dnl grateful for the helpful feedback of numerous users. | |
617 | dnl | |
618 | dnl LICENSE | |
619 | dnl | |
620 | dnl Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> | |
621 | dnl | |
622 | dnl This program is free software: you can redistribute it and/or modify it | |
623 | dnl under the terms of the GNU General Public License as published by the | |
624 | dnl Free Software Foundation, either version 3 of the License, or (at your | |
625 | dnl option) any later version. | |
626 | dnl | |
627 | dnl This program is distributed in the hope that it will be useful, but | |
628 | dnl WITHOUT ANY WARRANTY; without even the implied warranty of | |
629 | dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | |
630 | dnl Public License for more details. | |
631 | dnl | |
632 | dnl You should have received a copy of the GNU General Public License along | |
633 | dnl with this program. If not, see <http://www.gnu.org/licenses/>. | |
634 | dnl | |
635 | dnl As a special exception, the respective Autoconf Macro's copyright owner | |
636 | dnl gives unlimited permission to copy, distribute and modify the configure | |
637 | dnl scripts that are the output of Autoconf when processing the Macro. You | |
638 | dnl need not follow the terms of the GNU General Public License when using | |
639 | dnl or distributing such scripts, even though portions of the text of the | |
640 | dnl Macro appear in them. The GNU General Public License (GPL) does govern | |
641 | dnl all other use of the material that constitutes the Autoconf Macro. | |
642 | dnl | |
643 | dnl This special exception to the GPL applies to versions of the Autoconf | |
644 | dnl Macro released by the Autoconf Archive. When you make and distribute a | |
645 | dnl modified version of the Autoconf Macro, you may extend this special | |
646 | dnl exception to the GPL to apply to your modified version as well. | |
8414a40c | 647 | |
80ed523f VZ |
648 | AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) |
649 | AC_DEFUN([AX_PTHREAD], [ | |
8414a40c VZ |
650 | AC_REQUIRE([AC_CANONICAL_HOST]) |
651 | AC_LANG_SAVE | |
652 | AC_LANG_C | |
80ed523f | 653 | ax_pthread_ok=no |
8414a40c | 654 | |
80ed523f VZ |
655 | dnl We used to check for pthread.h first, but this fails if pthread.h |
656 | dnl requires special compiler flags (e.g. on True64 or Sequent). | |
657 | dnl It gets checked for in the link test anyway. | |
8414a40c | 658 | |
80ed523f VZ |
659 | dnl First of all, check if the user has set any of the PTHREAD_LIBS, |
660 | dnl etcetera environment variables, and if threads linking works using | |
661 | dnl them: | |
8414a40c VZ |
662 | if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then |
663 | save_CFLAGS="$CFLAGS" | |
664 | CFLAGS="$CFLAGS $PTHREAD_CFLAGS" | |
665 | save_LIBS="$LIBS" | |
666 | LIBS="$PTHREAD_LIBS $LIBS" | |
667 | AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) | |
80ed523f VZ |
668 | AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes) |
669 | AC_MSG_RESULT($ax_pthread_ok) | |
670 | if test x"$ax_pthread_ok" = xno; then | |
8414a40c VZ |
671 | PTHREAD_LIBS="" |
672 | PTHREAD_CFLAGS="" | |
673 | fi | |
674 | LIBS="$save_LIBS" | |
675 | CFLAGS="$save_CFLAGS" | |
676 | fi | |
677 | ||
80ed523f VZ |
678 | dnl We must check for the threads library under a number of different |
679 | dnl names; the ordering is very important because some systems | |
680 | dnl (e.g. DEC) have both -lpthread and -lpthreads, where one of the | |
681 | dnl libraries is broken (non-POSIX). | |
682 | ||
683 | dnl Create a list of thread flags to try. Items starting with a "-" are | |
684 | dnl C compiler flags, and other items are library names, except for "none" | |
685 | dnl which indicates that we try without any flags at all, and "pthread-config" | |
686 | dnl which is a program returning the flags for the Pth emulation library. | |
687 | ||
688 | ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" | |
689 | ||
690 | dnl The ordering *is* (sometimes) important. Some notes on the | |
691 | dnl individual items follow: | |
692 | ||
693 | dnl pthreads: AIX (must check this before -lpthread) | |
694 | dnl none: in case threads are in libc; should be tried before -Kthread and | |
695 | dnl other compiler flags to prevent continual compiler warnings | |
696 | dnl -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) | |
697 | dnl -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) | |
698 | dnl lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) | |
699 | dnl -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) | |
700 | dnl -pthreads: Solaris/gcc | |
701 | dnl -mthreads: Mingw32/gcc, Lynx/gcc | |
702 | dnl -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it | |
703 | dnl doesn't hurt to check since this sometimes defines pthreads too; | |
704 | dnl also defines -D_REENTRANT) | |
705 | dnl ... -mt is also the pthreads flag for HP/aCC | |
706 | dnl pthread: Linux, etcetera | |
707 | dnl --thread-safe: KAI C++ | |
708 | dnl pthread-config: use pthread-config program (for GNU Pth library) | |
8414a40c VZ |
709 | |
710 | case "${host_cpu}-${host_os}" in | |
711 | *solaris*) | |
712 | ||
80ed523f VZ |
713 | dnl On Solaris (at least, for some versions), libc contains stubbed |
714 | dnl (non-functional) versions of the pthreads routines, so link-based | |
715 | dnl tests will erroneously succeed. (We need to link with -pthreads/-mt/ | |
716 | dnl -lpthread.) (The stubs are missing pthread_cleanup_push, or rather | |
717 | dnl a function called by this macro, so we could check for that, but | |
718 | dnl who knows whether they'll stub that too in a future libc.) So, | |
719 | dnl we'll just look for -pthreads and -lpthread first: | |
8414a40c | 720 | |
80ed523f | 721 | ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" |
8414a40c | 722 | ;; |
80ed523f VZ |
723 | |
724 | *-darwin*) | |
725 | ax_pthread_flags="-pthread $ax_pthread_flags" | |
726 | ;; | |
8414a40c VZ |
727 | esac |
728 | ||
80ed523f VZ |
729 | if test x"$ax_pthread_ok" = xno; then |
730 | for flag in $ax_pthread_flags; do | |
8414a40c VZ |
731 | |
732 | case $flag in | |
733 | none) | |
734 | AC_MSG_CHECKING([whether pthreads work without any flags]) | |
735 | ;; | |
736 | ||
737 | -*) | |
738 | AC_MSG_CHECKING([whether pthreads work with $flag]) | |
739 | PTHREAD_CFLAGS="$flag" | |
740 | ;; | |
741 | ||
742 | pthread-config) | |
80ed523f VZ |
743 | AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no) |
744 | if test x"$ax_pthread_config" = xno; then continue; fi | |
8414a40c VZ |
745 | PTHREAD_CFLAGS="`pthread-config --cflags`" |
746 | PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" | |
747 | ;; | |
748 | ||
749 | *) | |
750 | AC_MSG_CHECKING([for the pthreads library -l$flag]) | |
751 | PTHREAD_LIBS="-l$flag" | |
752 | ;; | |
753 | esac | |
754 | ||
755 | save_LIBS="$LIBS" | |
756 | save_CFLAGS="$CFLAGS" | |
757 | LIBS="$PTHREAD_LIBS $LIBS" | |
758 | CFLAGS="$CFLAGS $PTHREAD_CFLAGS" | |
759 | ||
80ed523f VZ |
760 | dnl Check for various functions. We must include pthread.h, |
761 | dnl since some functions may be macros. (On the Sequent, we | |
762 | dnl need a special flag -Kthread to make this header compile.) | |
763 | dnl We check for pthread_join because it is in -lpthread on IRIX | |
764 | dnl while pthread_create is in libc. We check for pthread_attr_init | |
765 | dnl due to DEC craziness with -lpthreads. We check for | |
766 | dnl pthread_cleanup_push because it is one of the few pthread | |
767 | dnl functions on Solaris that doesn't have a non-functional libc stub. | |
768 | dnl We try pthread_create on general principles. | |
769 | AC_TRY_LINK([#include <pthread.h> | |
770 | static void routine(void* a) {a=0;} | |
771 | static void* start_routine(void* a) {return a;}], | |
772 | [pthread_t th; pthread_attr_t attr; | |
773 | pthread_create(&th,0,start_routine,0); | |
774 | pthread_join(th, 0); | |
775 | pthread_attr_init(&attr); | |
776 | pthread_cleanup_push(routine, 0); | |
777 | pthread_cleanup_pop(0); ], | |
778 | [ax_pthread_ok=yes]) | |
8414a40c VZ |
779 | |
780 | LIBS="$save_LIBS" | |
781 | CFLAGS="$save_CFLAGS" | |
782 | ||
80ed523f VZ |
783 | AC_MSG_RESULT($ax_pthread_ok) |
784 | if test "x$ax_pthread_ok" = xyes; then | |
8414a40c VZ |
785 | break; |
786 | fi | |
787 | ||
788 | PTHREAD_LIBS="" | |
789 | PTHREAD_CFLAGS="" | |
790 | done | |
791 | fi | |
792 | ||
80ed523f VZ |
793 | dnl Various other checks: |
794 | if test "x$ax_pthread_ok" = xyes; then | |
8414a40c VZ |
795 | save_LIBS="$LIBS" |
796 | LIBS="$PTHREAD_LIBS $LIBS" | |
797 | save_CFLAGS="$CFLAGS" | |
798 | CFLAGS="$CFLAGS $PTHREAD_CFLAGS" | |
799 | ||
80ed523f | 800 | dnl Detect AIX lossage: JOINABLE attribute is called UNDETACHED. |
8414a40c VZ |
801 | AC_MSG_CHECKING([for joinable pthread attribute]) |
802 | attr_name=unknown | |
803 | for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do | |
80ed523f | 804 | AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;], |
8414a40c VZ |
805 | [attr_name=$attr; break]) |
806 | done | |
807 | AC_MSG_RESULT($attr_name) | |
808 | if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then | |
809 | AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, | |
810 | [Define to necessary symbol if this constant | |
811 | uses a non-standard name on your system.]) | |
812 | fi | |
813 | ||
814 | AC_MSG_CHECKING([if more special flags are required for pthreads]) | |
815 | flag=no | |
816 | case "${host_cpu}-${host_os}" in | |
817 | *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; | |
818 | *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; | |
819 | esac | |
820 | AC_MSG_RESULT(${flag}) | |
821 | if test "x$flag" != xno; then | |
822 | PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" | |
823 | fi | |
824 | ||
825 | LIBS="$save_LIBS" | |
826 | CFLAGS="$save_CFLAGS" | |
827 | ||
80ed523f VZ |
828 | dnl More AIX lossage: must compile with xlc_r or cc_r |
829 | if test x"$GCC" != xyes; then | |
830 | AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) | |
831 | else | |
832 | PTHREAD_CC=$CC | |
833 | fi | |
8414a40c VZ |
834 | else |
835 | PTHREAD_CC="$CC" | |
836 | fi | |
837 | ||
838 | AC_SUBST(PTHREAD_LIBS) | |
839 | AC_SUBST(PTHREAD_CFLAGS) | |
840 | AC_SUBST(PTHREAD_CC) | |
841 | ||
80ed523f VZ |
842 | dnl Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: |
843 | if test x"$ax_pthread_ok" = xyes; then | |
8414a40c VZ |
844 | ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) |
845 | : | |
846 | else | |
80ed523f | 847 | ax_pthread_ok=no |
8414a40c VZ |
848 | $2 |
849 | fi | |
850 | AC_LANG_RESTORE | |
80ed523f | 851 | ])dnl AX_PTHREAD |