1 | # configure.in --- xscreensaver, Copyright (c) 1997-2003 Jamie Zawinski. |
---|
2 | # |
---|
3 | |
---|
4 | AC_PREREQ(2.52) |
---|
5 | AC_INIT(driver/subprocs.c) |
---|
6 | AC_CONFIG_HEADER(config.h) |
---|
7 | |
---|
8 | echo "current directory: `pwd`" |
---|
9 | echo "command line was: $0 $@" |
---|
10 | |
---|
11 | |
---|
12 | # After checking to see that --srcdir is correct (which AC_INIT does) |
---|
13 | # check for some random other files that come later in the tar file, |
---|
14 | # to make sure everything is here. |
---|
15 | # |
---|
16 | for d in driver utils hacks hacks/glx ; do |
---|
17 | f=$srcdir/$d/Makefile.in |
---|
18 | if test \! -r $f ; then |
---|
19 | echo "" |
---|
20 | echo "ERROR: The package is incomplete: $f does not exist." |
---|
21 | echo " This probably means that your download was truncated." |
---|
22 | echo "" |
---|
23 | exit 1 |
---|
24 | fi |
---|
25 | done |
---|
26 | |
---|
27 | ############################################################################### |
---|
28 | # |
---|
29 | # Function to figure out how to run the compiler. |
---|
30 | # |
---|
31 | ############################################################################### |
---|
32 | |
---|
33 | AC_DEFUN(AC_PROG_CC_ANSI, |
---|
34 | [AC_PROG_CC |
---|
35 | |
---|
36 | if test -z "$GCC"; then |
---|
37 | AC_MSG_CHECKING(how to request ANSI compilation) |
---|
38 | case "$host" in |
---|
39 | *-hpux* ) |
---|
40 | AC_MSG_RESULT(HPUX: adding -Ae) |
---|
41 | CC="$CC -Ae" |
---|
42 | ;; |
---|
43 | *-aix* ) |
---|
44 | AC_MSG_RESULT(AIX: adding -qlanglvl=ansi -qhalt=e) |
---|
45 | CC="$CC -qlanglvl=ansi -qhalt=e" |
---|
46 | ;; |
---|
47 | |
---|
48 | *-dec-* ) |
---|
49 | AC_MSG_RESULT(DEC: adding -std1 -ieee) |
---|
50 | CC="$CC -std1" |
---|
51 | ;; |
---|
52 | |
---|
53 | *) |
---|
54 | AC_MSG_RESULT(no idea) |
---|
55 | ;; |
---|
56 | esac |
---|
57 | fi |
---|
58 | |
---|
59 | OBJCC="$CC" |
---|
60 | |
---|
61 | AC_MSG_CHECKING([whether the compiler works on ANSI C]) |
---|
62 | AC_TRY_RUN([ main(int ac, char **av) { return 0; } ], |
---|
63 | AC_MSG_RESULT(yes), |
---|
64 | AC_MSG_RESULT(no) |
---|
65 | AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.), |
---|
66 | AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.)) |
---|
67 | |
---|
68 | if test -n "$GCC"; then |
---|
69 | AC_MSG_RESULT(Turning on gcc compiler warnings.) |
---|
70 | CC="$CC -pedantic -Wall -Wstrict-prototypes -Wnested-externs" |
---|
71 | OBJCC="$OBJCC -Wall" |
---|
72 | # supposedly gcc 3.4 will have "-Wdeclaration-after-statement" |
---|
73 | # and then perhaps we can do without -pedantic? |
---|
74 | else |
---|
75 | case "$host" in |
---|
76 | *-irix5* |*-irix6.[0-3]* ) |
---|
77 | AC_MSG_RESULT(Turning on SGI compiler warnings.) |
---|
78 | CC="$CC -fullwarn -use_readonly_const -rdata_shared -g3" |
---|
79 | ;; |
---|
80 | # *-dec-osf* ) |
---|
81 | # if test -z "$GCC"; then |
---|
82 | # AC_MSG_RESULT(Turning on DEC C compiler warnings.) |
---|
83 | # CC="$CC -migrate -w0 -verbose -warnprotos" |
---|
84 | # fi |
---|
85 | # ;; |
---|
86 | esac |
---|
87 | fi |
---|
88 | ]) |
---|
89 | |
---|
90 | |
---|
91 | ############################################################################### |
---|
92 | # |
---|
93 | # Functions to figure out how to disable // comments in ANSI C code. |
---|
94 | # |
---|
95 | # (With recent gcc, this is done with "-std=c89". With older gcc, this |
---|
96 | # is done by passing "-lang-c89" to cpp, by passing "-Wp,-lang-c89" to |
---|
97 | # gcc. Old gcc doesn't support -std, and new gcc doesn't support -lang. |
---|
98 | # so much for compatibility!) |
---|
99 | # |
---|
100 | # UPDATE: apparently there is NO WAY to tell gcc 3.2.2 to require that |
---|
101 | # declarations preceed statements, without resorting to "-pedantic". |
---|
102 | # This means that there is no way to get gcc3 to issue warnings that |
---|
103 | # ensure that your code complies with the ANSI/ISO C89 standard, without |
---|
104 | # also drowning in totally useless warnings. Thank you master may I |
---|
105 | # have another. |
---|
106 | # |
---|
107 | # So, I give up, let's just use -pedantic. |
---|
108 | # |
---|
109 | ############################################################################### |
---|
110 | |
---|
111 | AC_DEFUN(AC_GCC_ACCEPTS_STD, |
---|
112 | [if test -n "$GCC"; then |
---|
113 | AC_CACHE_CHECK([whether gcc accepts -std], |
---|
114 | ac_cv_gcc_accepts_std, |
---|
115 | [if ( ( gcc -E -std=c89 - </dev/null >/dev/null ) 2>&1 | \ |
---|
116 | grep unrecognized >/dev/null ); then |
---|
117 | ac_cv_gcc_accepts_std=no |
---|
118 | else |
---|
119 | ac_cv_gcc_accepts_std=yes |
---|
120 | fi]) |
---|
121 | ac_gcc_accepts_std="$ac_cv_gcc_accepts_std" |
---|
122 | fi |
---|
123 | ]) |
---|
124 | |
---|
125 | AC_DEFUN(AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE, |
---|
126 | [if test -n "$GCC"; then |
---|
127 | AC_GCC_ACCEPTS_STD |
---|
128 | AC_MSG_RESULT(Disabling C++ comments in ANSI C code.) |
---|
129 | # |
---|
130 | # The reason that // comments are banned from xscreensaver is that gcc is |
---|
131 | # basically the only compiler in the world that supports them in C code. |
---|
132 | # All other vendors support them only in their C++ compilers, not in their |
---|
133 | # ANSI C compilers. This means that it's a portability problem: every time |
---|
134 | # these comments have snuck into the xscreensaver source code, I've gotten |
---|
135 | # complaints about it the next day. So we turn off support for them in gcc |
---|
136 | # as well to prevent them from accidentially slipping in. |
---|
137 | # |
---|
138 | if test "$ac_gcc_accepts_std" = yes ; then |
---|
139 | # |
---|
140 | # -std=c89 defines __STRICT_ANSI__, which we don't want. |
---|
141 | # (That appears to be the only additional preprocessor symbol |
---|
142 | # it defines, in addition to the syntax changes it makes.) |
---|
143 | # |
---|
144 | # -std=gnu89 is no good, because // comments were a GNU extension |
---|
145 | # before they were in the ANSI C 99 spec... (gcc 2.96 permits // |
---|
146 | # with -std=gnu89 but not with -std=c89.) |
---|
147 | # |
---|
148 | CC="$CC -std=c89 -U__STRICT_ANSI__" |
---|
149 | else |
---|
150 | # The old way: |
---|
151 | CC="$CC -Wp,-lang-c89" |
---|
152 | fi |
---|
153 | fi |
---|
154 | ]) |
---|
155 | |
---|
156 | |
---|
157 | ############################################################################### |
---|
158 | # |
---|
159 | # Function to figure out how to turn off Objective C on MacOS X. |
---|
160 | # (We have to do this to work around an Apple-specific gcc bug.) |
---|
161 | # |
---|
162 | ############################################################################### |
---|
163 | |
---|
164 | AC_DEFUN(AC_GCC_ACCEPTS_NO_CPP_PRECOMP, |
---|
165 | [if test -n "$GCC"; then |
---|
166 | AC_CACHE_CHECK([whether gcc accepts -no-cpp-precomp], |
---|
167 | ac_cv_gcc_accepts_no_cpp_precomp, |
---|
168 | [if ( ( gcc -E -no-cpp-precomp - </dev/null >/dev/null ) 2>&1 | \ |
---|
169 | grep unrecognized >/dev/null ); then |
---|
170 | ac_cv_gcc_accepts_no_cpp_precomp=no |
---|
171 | else |
---|
172 | ac_cv_gcc_accepts_no_cpp_precomp=yes |
---|
173 | fi]) |
---|
174 | ac_gcc_accepts_no_cpp_precomp="$ac_cv_gcc_accepts_no_cpp_precomp" |
---|
175 | fi |
---|
176 | ]) |
---|
177 | |
---|
178 | AC_DEFUN(AC_NO_OBJECTIVE_C, |
---|
179 | [if test -n "$GCC"; then |
---|
180 | AC_GCC_ACCEPTS_NO_CPP_PRECOMP |
---|
181 | if test "$ac_gcc_accepts_no_cpp_precomp" = yes ; then |
---|
182 | AC_MSG_RESULT(Disabling Objective C extensions in ANSI C code.) |
---|
183 | CC="$CC -no-cpp-precomp" |
---|
184 | fi |
---|
185 | fi |
---|
186 | ]) |
---|
187 | |
---|
188 | |
---|
189 | ############################################################################### |
---|
190 | # |
---|
191 | # Function to figure out how to create directory trees. |
---|
192 | # |
---|
193 | ############################################################################### |
---|
194 | |
---|
195 | AC_DEFUN(AC_PROG_INSTALL_DIRS, |
---|
196 | [AC_CACHE_CHECK([whether \"\${INSTALL} -d\" creates intermediate directories], |
---|
197 | ac_cv_install_d_creates_dirs, |
---|
198 | [ac_cv_install_d_creates_dirs=no |
---|
199 | rm -rf conftestdir |
---|
200 | if mkdir conftestdir; then |
---|
201 | cd conftestdir 2>/dev/null |
---|
202 | ${INSTALL} -d `pwd`/dir1/dir2 >/dev/null 2>&1 |
---|
203 | if test -d dir1/dir2/. ; then |
---|
204 | ac_cv_install_d_creates_dirs=yes |
---|
205 | fi |
---|
206 | cd .. 2>/dev/null |
---|
207 | rm -rf conftestdir |
---|
208 | fi |
---|
209 | ]) |
---|
210 | |
---|
211 | if test "$ac_cv_install_d_creates_dirs" = no ; then |
---|
212 | AC_CACHE_CHECK([whether \"mkdir -p\" creates intermediate directories], |
---|
213 | ac_cv_mkdir_p_creates_dirs, |
---|
214 | [ac_cv_mkdir_p_creates_dirs=no |
---|
215 | rm -rf conftestdir |
---|
216 | if mkdir conftestdir; then |
---|
217 | cd conftestdir 2>/dev/null |
---|
218 | mkdir -p dir1/dir2 >/dev/null 2>&1 |
---|
219 | if test -d dir1/dir2/. ; then |
---|
220 | ac_cv_mkdir_p_creates_dirs=yes |
---|
221 | fi |
---|
222 | cd .. 2>/dev/null |
---|
223 | rm -rf conftestdir |
---|
224 | fi |
---|
225 | ]) |
---|
226 | fi |
---|
227 | |
---|
228 | if test "$ac_cv_install_d_creates_dirs" = yes ; then |
---|
229 | INSTALL_DIRS='${INSTALL} -d' |
---|
230 | elif test "$ac_cv_mkdir_p_creates_dirs" = yes ; then |
---|
231 | INSTALL_DIRS='mkdir -p' |
---|
232 | else |
---|
233 | # any other ideas? |
---|
234 | INSTALL_DIRS='${INSTALL} -d' |
---|
235 | fi |
---|
236 | ]) |
---|
237 | |
---|
238 | |
---|
239 | ############################################################################### |
---|
240 | # |
---|
241 | # Function to check whether gettimeofday() exists, and how to call it. |
---|
242 | # This may define HAVE_GETTIMEOFDAY and GETTIMEOFDAY_TWO_ARGS. |
---|
243 | # |
---|
244 | ############################################################################### |
---|
245 | |
---|
246 | AC_DEFUN(AC_GETTIMEOFDAY_ARGS, |
---|
247 | [AC_MSG_CHECKING(how to call gettimeofday) |
---|
248 | AC_CACHE_VAL(ac_cv_gettimeofday_args, |
---|
249 | [AC_TRY_COMPILE([#include <stdlib.h> |
---|
250 | #include <sys/time.h>], |
---|
251 | [struct timeval tv; struct timezone tzp; |
---|
252 | gettimeofday(&tv, &tzp);], |
---|
253 | [ac_gettimeofday_args=2], |
---|
254 | [AC_TRY_COMPILE([#include <stdlib.h> |
---|
255 | #include <sys/time.h>], |
---|
256 | [struct timeval tv; gettimeofday(&tv);], |
---|
257 | [ac_gettimeofday_args=1], |
---|
258 | [ac_gettimeofday_args=0])]) |
---|
259 | ac_cv_gettimeofday_args=$ac_gettimeofday_args]) |
---|
260 | ac_gettimeofday_args=$ac_cv_gettimeofday_args |
---|
261 | if test "$ac_gettimeofday_args" = 1 ; then |
---|
262 | AC_DEFINE(HAVE_GETTIMEOFDAY) |
---|
263 | AC_MSG_RESULT(one argument) |
---|
264 | elif test "$ac_gettimeofday_args" = 2 ; then |
---|
265 | AC_DEFINE(HAVE_GETTIMEOFDAY) |
---|
266 | AC_DEFINE(GETTIMEOFDAY_TWO_ARGS) |
---|
267 | AC_MSG_RESULT(two arguments) |
---|
268 | else |
---|
269 | AC_MSG_RESULT(unknown) |
---|
270 | fi |
---|
271 | ]) |
---|
272 | |
---|
273 | |
---|
274 | ############################################################################### |
---|
275 | # |
---|
276 | # Function to find perl5 (defines PERL and PERL_VERSION.) |
---|
277 | # |
---|
278 | ############################################################################### |
---|
279 | |
---|
280 | # M4 sucks!! perl sucks too!! |
---|
281 | changequote(X,Y) |
---|
282 | perl_version_cmd='print $]' |
---|
283 | changequote([,]) |
---|
284 | |
---|
285 | AC_DEFUN(AC_PROG_PERL, |
---|
286 | [AC_PATH_PROGS(PERL, [perl5 perl],,) |
---|
287 | if test -z "$PERL" ; then |
---|
288 | PERL_VERSION=0 |
---|
289 | else |
---|
290 | AC_CACHE_CHECK([perl version], ac_cv_perl_version, |
---|
291 | [ac_cv_perl_version=`$PERL -e "$perl_version_cmd"`]) |
---|
292 | PERL_VERSION=$ac_cv_perl_version |
---|
293 | fi |
---|
294 | ]) |
---|
295 | |
---|
296 | |
---|
297 | ############################################################################### |
---|
298 | # |
---|
299 | # Function to demand "bc". Losers. |
---|
300 | # |
---|
301 | ############################################################################### |
---|
302 | |
---|
303 | AC_DEFUN(AC_DEMAND_BC, |
---|
304 | [ac_bc_result=`echo 6+9 | bc 2>/dev/null` |
---|
305 | AC_MSG_CHECKING([for bc]) |
---|
306 | if test "$ac_bc_result" = "15" ; then |
---|
307 | AC_MSG_RESULT(yes) |
---|
308 | else |
---|
309 | AC_MSG_RESULT(no) |
---|
310 | echo '' |
---|
311 | AC_MSG_ERROR([Your system doesn't have \"bc\", which has been a standard |
---|
312 | part of Unix since the 1970s. Come back when your vendor |
---|
313 | has grown a clue.]) |
---|
314 | fi |
---|
315 | ]) |
---|
316 | |
---|
317 | ############################################################################### |
---|
318 | # |
---|
319 | # Functions to check how to do ICMP PING requests. |
---|
320 | # |
---|
321 | ############################################################################### |
---|
322 | |
---|
323 | AC_DEFUN(AC_CHECK_ICMP, |
---|
324 | [AC_CACHE_CHECK([for struct icmp], ac_cv_have_icmp, |
---|
325 | [AC_TRY_COMPILE([#include <stdlib.h> |
---|
326 | #include <stdio.h> |
---|
327 | #include <math.h> |
---|
328 | #include <unistd.h> |
---|
329 | #include <limits.h> |
---|
330 | #include <signal.h> |
---|
331 | #include <fcntl.h> |
---|
332 | #include <sys/types.h> |
---|
333 | #include <sys/time.h> |
---|
334 | #include <sys/ipc.h> |
---|
335 | #include <sys/shm.h> |
---|
336 | #include <sys/socket.h> |
---|
337 | #include <netinet/in_systm.h> |
---|
338 | #include <netinet/in.h> |
---|
339 | #include <netinet/ip.h> |
---|
340 | #include <netinet/ip_icmp.h> |
---|
341 | #include <netinet/udp.h> |
---|
342 | #include <arpa/inet.h> |
---|
343 | #include <netdb.h>], |
---|
344 | [struct icmp i; |
---|
345 | struct sockaddr s; |
---|
346 | struct sockaddr_in si; |
---|
347 | struct ip ip; |
---|
348 | i.icmp_type = ICMP_ECHO; |
---|
349 | i.icmp_code = 0; |
---|
350 | i.icmp_cksum = 0; |
---|
351 | i.icmp_id = 0; |
---|
352 | i.icmp_seq = 0; |
---|
353 | si.sin_family = AF_INET; |
---|
354 | #if defined(__DECC) || defined(_IP_VHL) |
---|
355 | ip.ip_vhl = 0; |
---|
356 | #else |
---|
357 | ip.ip_hl = 0; |
---|
358 | #endif |
---|
359 | ], |
---|
360 | [ac_cv_have_icmp=yes], |
---|
361 | [ac_cv_have_icmp=no])]) |
---|
362 | if test "$ac_cv_have_icmp" = yes ; then |
---|
363 | AC_DEFINE(HAVE_ICMP) |
---|
364 | fi]) |
---|
365 | |
---|
366 | AC_DEFUN(AC_CHECK_ICMPHDR, |
---|
367 | [AC_CACHE_CHECK([for struct icmphdr], ac_cv_have_icmphdr, |
---|
368 | [AC_TRY_COMPILE([#include <stdlib.h> |
---|
369 | #include <stdio.h> |
---|
370 | #include <math.h> |
---|
371 | #include <unistd.h> |
---|
372 | #include <limits.h> |
---|
373 | #include <signal.h> |
---|
374 | #include <fcntl.h> |
---|
375 | #include <sys/types.h> |
---|
376 | #include <sys/time.h> |
---|
377 | #include <sys/ipc.h> |
---|
378 | #include <sys/shm.h> |
---|
379 | #include <sys/socket.h> |
---|
380 | #include <netinet/in_systm.h> |
---|
381 | #include <netinet/in.h> |
---|
382 | #include <netinet/ip.h> |
---|
383 | #include <netinet/ip_icmp.h> |
---|
384 | #include <netinet/udp.h> |
---|
385 | #include <arpa/inet.h> |
---|
386 | #include <netdb.h>], |
---|
387 | [struct icmphdr i; |
---|
388 | struct sockaddr s; |
---|
389 | struct sockaddr_in si; |
---|
390 | struct ip ip; |
---|
391 | i.type = ICMP_ECHO; |
---|
392 | i.code = 0; |
---|
393 | i.checksum = 0; |
---|
394 | i.un.echo.id = 0; |
---|
395 | i.un.echo.sequence = 0; |
---|
396 | si.sin_family = AF_INET; |
---|
397 | ip.ip_hl = 0;], |
---|
398 | [ac_cv_have_icmphdr=yes], |
---|
399 | [ac_cv_have_icmphdr=no])]) |
---|
400 | if test "$ac_cv_have_icmphdr" = yes ; then |
---|
401 | AC_DEFINE(HAVE_ICMPHDR) |
---|
402 | fi]) |
---|
403 | |
---|
404 | |
---|
405 | ############################################################################### |
---|
406 | # |
---|
407 | # Functions to check for various X11 crap. |
---|
408 | # |
---|
409 | ############################################################################### |
---|
410 | |
---|
411 | # Try and find the app-defaults directory. |
---|
412 | # It sucks that autoconf doesn't do this already... |
---|
413 | # |
---|
414 | AC_DEFUN(AC_PATH_X_APP_DEFAULTS_XMKMF,[ |
---|
415 | rm -fr conftestdir |
---|
416 | if mkdir conftestdir; then |
---|
417 | cd conftestdir 2>/dev/null |
---|
418 | # Make sure to not put "make" in the Imakefile rules, since we grep it out. |
---|
419 | cat > Imakefile <<'EOF' |
---|
420 | acfindx: |
---|
421 | @echo 'ac_x_app_defaults="${XAPPLOADDIR}"' |
---|
422 | EOF |
---|
423 | if (xmkmf) >/dev/null 2>&1 && test -f Makefile; then |
---|
424 | # GNU make sometimes prints "make[1]: Entering...", which'd confuse us. |
---|
425 | eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` |
---|
426 | fi |
---|
427 | cd .. 2>/dev/null |
---|
428 | rm -fr conftestdir |
---|
429 | fi]) |
---|
430 | |
---|
431 | AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,[ |
---|
432 | # Look for the directory under a standard set of common directories. |
---|
433 | # Check X11 before X11Rn because it's often a symlink to the current release. |
---|
434 | for ac_dir in \ |
---|
435 | /usr/X11/lib/app-defaults \ |
---|
436 | /usr/X11R6/lib/app-defaults \ |
---|
437 | /usr/X11R6/lib/X11/app-defaults \ |
---|
438 | /usr/X11R5/lib/app-defaults \ |
---|
439 | /usr/X11R5/lib/X11/app-defaults \ |
---|
440 | /usr/X11R4/lib/app-defaults \ |
---|
441 | /usr/X11R4/lib/X11/app-defaults \ |
---|
442 | \ |
---|
443 | /usr/lib/X11/app-defaults \ |
---|
444 | /usr/lib/X11R6/app-defaults \ |
---|
445 | /usr/lib/X11R5/app-defaults \ |
---|
446 | /usr/lib/X11R4/app-defaults \ |
---|
447 | \ |
---|
448 | /usr/local/X11/lib/app-defaults \ |
---|
449 | /usr/local/X11R6/lib/app-defaults \ |
---|
450 | /usr/local/X11R5/lib/app-defaults \ |
---|
451 | /usr/local/X11R4/lib/app-defaults \ |
---|
452 | \ |
---|
453 | /usr/local/lib/X11/app-defaults \ |
---|
454 | /usr/local/lib/X11R6/app-defaults \ |
---|
455 | /usr/local/lib/X11R6/X11/app-defaults \ |
---|
456 | /usr/local/lib/X11R5/app-defaults \ |
---|
457 | /usr/local/lib/X11R5/X11/app-defaults \ |
---|
458 | /usr/local/lib/X11R4/app-defaults \ |
---|
459 | /usr/local/lib/X11R4/X11/app-defaults \ |
---|
460 | \ |
---|
461 | /usr/X386/lib/X11/app-defaults \ |
---|
462 | /usr/x386/lib/X11/app-defaults \ |
---|
463 | /usr/XFree86/lib/X11/app-defaults \ |
---|
464 | \ |
---|
465 | /usr/lib/X11/app-defaults \ |
---|
466 | /usr/local/lib/X11/app-defaults \ |
---|
467 | /usr/unsupported/lib/X11/app-defaults \ |
---|
468 | /usr/athena/lib/X11/app-defaults \ |
---|
469 | /usr/local/x11r5/lib/X11/app-defaults \ |
---|
470 | /usr/lpp/Xamples/lib/X11/app-defaults \ |
---|
471 | /lib/usr/lib/X11/app-defaults \ |
---|
472 | \ |
---|
473 | /usr/openwin/lib/app-defaults \ |
---|
474 | /usr/openwin/lib/X11/app-defaults \ |
---|
475 | /usr/openwin/share/lib/app-defaults \ |
---|
476 | /usr/openwin/share/lib/X11/app-defaults \ |
---|
477 | \ |
---|
478 | /X11R6/lib/app-defaults \ |
---|
479 | /X11R5/lib/app-defaults \ |
---|
480 | /X11R4/lib/app-defaults \ |
---|
481 | ; \ |
---|
482 | do |
---|
483 | if test -d "$ac_dir"; then |
---|
484 | ac_x_app_defaults=$ac_dir |
---|
485 | break |
---|
486 | fi |
---|
487 | done |
---|
488 | ]) |
---|
489 | |
---|
490 | AC_DEFUN(AC_PATH_X_APP_DEFAULTS, |
---|
491 | [AC_REQUIRE_CPP() |
---|
492 | AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults, |
---|
493 | [AC_PATH_X_APP_DEFAULTS_XMKMF |
---|
494 | if test x"$ac_x_app_defaults" = x; then |
---|
495 | AC_PATH_X_APP_DEFAULTS_DIRECT |
---|
496 | fi |
---|
497 | if test x"$ac_x_app_defaults" = x; then |
---|
498 | ac_cv_x_app_defaults="/usr/lib/X11/app-defaults" |
---|
499 | else |
---|
500 | # Record where we found app-defaults for the cache. |
---|
501 | ac_cv_x_app_defaults="$ac_x_app_defaults" |
---|
502 | fi]) |
---|
503 | eval ac_x_app_defaults="$ac_cv_x_app_defaults"]) |
---|
504 | |
---|
505 | |
---|
506 | AC_DEFUN(AC_XPOINTER, |
---|
507 | [AC_CACHE_CHECK([for XPointer], ac_cv_xpointer, |
---|
508 | [AC_TRY_X_COMPILE([#include <X11/Xlib.h>], |
---|
509 | [XPointer foo = (XPointer) 0;], |
---|
510 | [ac_cv_xpointer=yes], |
---|
511 | [ac_cv_xpointer=no])]) |
---|
512 | if test "$ac_cv_xpointer" != yes; then |
---|
513 | AC_DEFINE(XPointer,[char*]) |
---|
514 | fi]) |
---|
515 | |
---|
516 | |
---|
517 | # Random special-cases for X on certain pathological OSes. |
---|
518 | # You know who you are. |
---|
519 | # |
---|
520 | AC_DEFUN(AC_X_RANDOM_PATHS, |
---|
521 | [case "$host" in |
---|
522 | *-hpux*) |
---|
523 | |
---|
524 | # The following arcana was gleaned from conversations with |
---|
525 | # Eric Schwartz <erics@col.hp.com>: |
---|
526 | # |
---|
527 | # On HPUX 10.x, the parts of X that HP considers "standard" live in |
---|
528 | # /usr/{include,lib}/X11R6/. The parts that HP doesn't consider |
---|
529 | # "standard", notably, Xaw and Xmu, live in /usr/contrib/X11R6/. |
---|
530 | # Yet /usr/contrib/X11R6/ comes preinstalled on all HPUX systems. |
---|
531 | # Also, there are symlinks from /usr/include/ and /usr/lib/ into |
---|
532 | # /usr/{include,lib}/X11R6/, so that (if you don't use Xmu at all) |
---|
533 | # you don't need any -I or -L arguments. |
---|
534 | # |
---|
535 | # On HPUX 9.x, /usr/{include,lib}/X11R5/ and /usr/contrib/X11R5/ |
---|
536 | # are the same division as 10.x. However, there are no symlinks to |
---|
537 | # the X stuff from /usr/include/ and /usr/lib/, so -I and -L |
---|
538 | # arguments are always necessary. |
---|
539 | # |
---|
540 | # However, X11R6 was available on HPUX 9.x as a patch: if that |
---|
541 | # patch was installed, then all of X11R6 went in to |
---|
542 | # /usr/contrib/X11R6/ (there was no /usr/{include,lib}/X11R6/.) |
---|
543 | # |
---|
544 | # HPUX 8.x was the same as 9.x, but was X11R4 instead (I don't know |
---|
545 | # whether R5 was available as a patch; R6 undoubtedly was not.) |
---|
546 | # |
---|
547 | # So. We try and use the highest numbered pair of |
---|
548 | # /usr/{include,lib}/X11R?/ and /usr/contrib/X11R?/{include,lib}/ |
---|
549 | # that are available. We do not mix and match different versions |
---|
550 | # of X. |
---|
551 | # |
---|
552 | # Question I still don't know the answer to: (do you?) |
---|
553 | # |
---|
554 | # * On HPUX 9.x, where /usr/include/X11R5/ was standard, and |
---|
555 | # /usr/contrib/X11R6/ could be installed as a patch, what was in |
---|
556 | # that contrib directory? Did it contain so-called "standard" |
---|
557 | # X11R6, or did it include Xaw and Xmu as well? If the former, |
---|
558 | # where did one find Xaw and Xmu on 9.x R6 systems? Would this |
---|
559 | # be a situation where one had to reach into the R5 headers and |
---|
560 | # libs to find Xmu? That is, must both R6 and R5 directories |
---|
561 | # be on the -I and -L lists in that case? |
---|
562 | # |
---|
563 | for version in X11R6 X11R5 X11R4 ; do |
---|
564 | # if either pair of directories exists... |
---|
565 | if test -d /usr/include/$version || test -d /usr/contrib/$version/include |
---|
566 | then |
---|
567 | # if contrib exists, use it... |
---|
568 | if test -d /usr/contrib/$version/include ; then |
---|
569 | X_CFLAGS="$X_CFLAGS -I/usr/contrib/$version/include" |
---|
570 | X_LIBS="$X_LIBS -L/usr/contrib/$version/lib" |
---|
571 | fi |
---|
572 | # if the "standard" one exists, use it. |
---|
573 | if test -d /usr/include/$version ; then |
---|
574 | X_CFLAGS="$X_CFLAGS -I/usr/include/$version" |
---|
575 | X_LIBS="$X_LIBS -L/usr/lib/$version" |
---|
576 | fi |
---|
577 | # since at least one of the pair exists, go no farther. |
---|
578 | break |
---|
579 | fi |
---|
580 | done |
---|
581 | |
---|
582 | # Now find Motif. Thanks for not making xmkmf find this by |
---|
583 | # default, you losers. |
---|
584 | # |
---|
585 | if test -d /usr/include/Motif2.1 ; then |
---|
586 | X_CFLAGS="$X_CFLAGS -I/usr/include/Motif2.1" |
---|
587 | X_LIBS="$X_LIBS -L/usr/lib/Motif2.1" |
---|
588 | elif test -d /usr/include/Motif1.2 ; then |
---|
589 | X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.2" |
---|
590 | X_LIBS="$X_LIBS -L/usr/lib/Motif1.2" |
---|
591 | elif test -d /usr/include/Motif1.1 ; then |
---|
592 | X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.1" |
---|
593 | X_LIBS="$X_LIBS -L/usr/lib/Motif1.1" |
---|
594 | fi |
---|
595 | |
---|
596 | # Now let's check for the pseudo-standard locations for OpenGL and XPM. |
---|
597 | # |
---|
598 | if test -d /opt/graphics/OpenGL/include ; then |
---|
599 | # HP-UX 10.20 puts it here |
---|
600 | X_CFLAGS="-I/opt/graphics/OpenGL/include $X_CFLAGS" |
---|
601 | X_LIBS="-L/opt/graphics/OpenGL/lib $X_LIBS" |
---|
602 | elif test -d /opt/Mesa/lib ; then |
---|
603 | X_CFLAGS="-I/opt/Mesa/include $X_CFLAGS" |
---|
604 | X_LIBS="-L/opt/Mesa/lib $X_LIBS" |
---|
605 | fi |
---|
606 | |
---|
607 | |
---|
608 | if test -d /opt/xpm/lib/X11 ; then |
---|
609 | X_CFLAGS="-I/opt/xpm/include $X_CFLAGS" |
---|
610 | X_LIBS="-L/opt/xpm/lib/X11 $X_LIBS" |
---|
611 | fi |
---|
612 | |
---|
613 | # On HPUX, default to installing in /opt/xscreensaver/ instead of |
---|
614 | # in /usr/local/, unless there is already an xscreensaver in |
---|
615 | # /usr/local/bin/. This can be overridden with the --prefix arg |
---|
616 | # to configure. I'm not sure this is the right thing to do, but |
---|
617 | # Richard Lloyd says so... |
---|
618 | # |
---|
619 | if test \! -x /usr/local/bin/xscreensaver ; then |
---|
620 | ac_default_prefix=/opt/xscreensaver |
---|
621 | fi |
---|
622 | |
---|
623 | ;; |
---|
624 | *-solaris*) |
---|
625 | |
---|
626 | # Thanks for not making xmkmf find this by default, pinheads. |
---|
627 | # And thanks for moving things around again, too. Is this |
---|
628 | # really the standard location now? What happened to the |
---|
629 | # joke that this kind of thing went in /opt? |
---|
630 | # cthomp says "answer: CDE (Common Disorganized Environment)" |
---|
631 | # |
---|
632 | if test -f /usr/dt/include/Xm/Xm.h ; then |
---|
633 | X_CFLAGS="$X_CFLAGS -I/usr/dt/include" |
---|
634 | MOTIF_LIBS="$MOTIF_LIBS -L/usr/dt/lib -R/usr/dt/lib" |
---|
635 | |
---|
636 | # Some versions of Slowlaris Motif require -lgen. But not all. Why? |
---|
637 | AC_CHECK_LIB(gen, regcmp, [MOTIF_LIBS="$MOTIF_LIBS -lgen"]) |
---|
638 | fi |
---|
639 | |
---|
640 | ;; |
---|
641 | *-darwin*) |
---|
642 | |
---|
643 | # On MacOS X (10.x with "fink"), many things are under /sw/. |
---|
644 | # |
---|
645 | if test -d /sw/include ; then |
---|
646 | X_CFLAGS="-I/sw/include $X_CFLAGS" |
---|
647 | X_LIBS="-L/sw/lib $X_LIBS" |
---|
648 | fi |
---|
649 | ;; |
---|
650 | esac]) |
---|
651 | |
---|
652 | |
---|
653 | |
---|
654 | ############################################################################### |
---|
655 | # |
---|
656 | # Some utility functions to make checking for X things easier. |
---|
657 | # |
---|
658 | ############################################################################### |
---|
659 | |
---|
660 | # Like AC_CHECK_HEADER, but it uses the already-computed -I directories. |
---|
661 | # |
---|
662 | AC_DEFUN(AC_CHECK_X_HEADER, [ |
---|
663 | ac_save_CPPFLAGS="$CPPFLAGS" |
---|
664 | if test \! -z "$includedir" ; then |
---|
665 | CPPFLAGS="$CPPFLAGS -I$includedir" |
---|
666 | fi |
---|
667 | CPPFLAGS="$CPPFLAGS $X_CFLAGS" |
---|
668 | AC_CHECK_HEADER([$1],[$2],[$3],[$4]) |
---|
669 | CPPFLAGS="$ac_save_CPPFLAGS"]) |
---|
670 | |
---|
671 | # Like AC_EGREP_HEADER, but it uses the already-computed -I directories. |
---|
672 | # |
---|
673 | AC_DEFUN(AC_EGREP_X_HEADER, [ |
---|
674 | ac_save_CPPFLAGS="$CPPFLAGS" |
---|
675 | if test \! -z "$includedir" ; then |
---|
676 | CPPFLAGS="$CPPFLAGS -I$includedir" |
---|
677 | fi |
---|
678 | CPPFLAGS="$CPPFLAGS $X_CFLAGS" |
---|
679 | AC_EGREP_HEADER([$1], [$2], [$3], [$4]) |
---|
680 | CPPFLAGS="$ac_save_CPPFLAGS"]) |
---|
681 | |
---|
682 | # Like AC_TRY_COMPILE, but it uses the already-computed -I directories. |
---|
683 | # |
---|
684 | AC_DEFUN(AC_TRY_X_COMPILE, [ |
---|
685 | ac_save_CPPFLAGS="$CPPFLAGS" |
---|
686 | if test \! -z "$includedir" ; then |
---|
687 | CPPFLAGS="$CPPFLAGS -I$includedir" |
---|
688 | fi |
---|
689 | CPPFLAGS="$CPPFLAGS $X_CFLAGS" |
---|
690 | AC_TRY_COMPILE([$1], [$2], [$3], [$4]) |
---|
691 | CPPFLAGS="$ac_save_CPPFLAGS"]) |
---|
692 | |
---|
693 | |
---|
694 | # Like AC_CHECK_LIB, but it uses the already-computed -I and -L directories. |
---|
695 | # Use this sparingly; it probably doesn't work very well on X programs. |
---|
696 | # |
---|
697 | AC_DEFUN(AC_CHECK_X_LIB, [ |
---|
698 | ac_save_CPPFLAGS="$CPPFLAGS" |
---|
699 | ac_save_LDFLAGS="$LDFLAGS" |
---|
700 | # ac_save_LIBS="$LIBS" |
---|
701 | |
---|
702 | if test \! -z "$includedir" ; then |
---|
703 | CPPFLAGS="$CPPFLAGS -I$includedir" |
---|
704 | fi |
---|
705 | # note: $X_CFLAGS includes $x_includes |
---|
706 | CPPFLAGS="$CPPFLAGS $X_CFLAGS" |
---|
707 | |
---|
708 | if test \! -z "$libdir" ; then |
---|
709 | LDFLAGS="$LDFLAGS -L$libdir" |
---|
710 | fi |
---|
711 | # note: $X_LIBS includes $x_libraries |
---|
712 | LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" |
---|
713 | |
---|
714 | AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5]) |
---|
715 | CPPFLAGS="$ac_save_CPPFLAGS" |
---|
716 | LDFLAGS="$ac_save_LDFLAGS" |
---|
717 | # LIBS="$ac_save_LIBS" |
---|
718 | ]) |
---|
719 | |
---|
720 | # Like AC_TRY_RUN, but it uses the already-computed -I directories. |
---|
721 | # (But not the -L directories!) |
---|
722 | # |
---|
723 | AC_DEFUN(AC_TRY_X_RUN, [ |
---|
724 | ac_save_CPPFLAGS="$CPPFLAGS" |
---|
725 | if test \! -z "$includedir" ; then |
---|
726 | CPPFLAGS="$CPPFLAGS -I$includedir" |
---|
727 | fi |
---|
728 | CPPFLAGS="$CPPFLAGS $X_CFLAGS" |
---|
729 | AC_TRY_RUN([$1], [$2], [$3], [$4]) |
---|
730 | CPPFLAGS="$ac_save_CPPFLAGS"]) |
---|
731 | |
---|
732 | |
---|
733 | |
---|
734 | # Usage: HANDLE_X_PATH_ARG([variable_name], |
---|
735 | # [--command-line-option], |
---|
736 | # [descriptive string]) |
---|
737 | # |
---|
738 | # All of the --with options take three forms: |
---|
739 | # |
---|
740 | # --with-foo (or --with-foo=yes) |
---|
741 | # --without-foo (or --with-foo=no) |
---|
742 | # --with-foo=/DIR |
---|
743 | # |
---|
744 | # This function, HANDLE_X_PATH_ARG, deals with the /DIR case. When it sees |
---|
745 | # a directory (string beginning with a slash) it checks to see whether |
---|
746 | # /DIR/include and /DIR/lib exist, and adds them to $X_CFLAGS and $X_LIBS |
---|
747 | # as appropriate. |
---|
748 | # |
---|
749 | AC_DEFUN(HANDLE_X_PATH_ARG, [ |
---|
750 | case "$[$1]" in |
---|
751 | yes) ;; |
---|
752 | no) ;; |
---|
753 | |
---|
754 | /*) |
---|
755 | AC_MSG_CHECKING([for [$3] headers]) |
---|
756 | d=$[$1]/include |
---|
757 | if test -d $d; then |
---|
758 | X_CFLAGS="-I$d $X_CFLAGS" |
---|
759 | AC_MSG_RESULT($d) |
---|
760 | else |
---|
761 | AC_MSG_RESULT(not found ($d: no such directory)) |
---|
762 | fi |
---|
763 | |
---|
764 | AC_MSG_CHECKING([for [$3] libs]) |
---|
765 | d=$[$1]/lib |
---|
766 | if test -d $d; then |
---|
767 | X_LIBS="-L$d $X_LIBS" |
---|
768 | AC_MSG_RESULT($d) |
---|
769 | else |
---|
770 | AC_MSG_RESULT(not found ($d: no such directory)) |
---|
771 | fi |
---|
772 | |
---|
773 | # replace the directory string with "yes". |
---|
774 | [$1]_req="yes" |
---|
775 | [$1]=$[$1]_req |
---|
776 | ;; |
---|
777 | |
---|
778 | *) |
---|
779 | echo "" |
---|
780 | echo "error: argument to [$2] must be \"yes\", \"no\", or a directory." |
---|
781 | echo " If it is a directory, then \`DIR/include' will be added to" |
---|
782 | echo " the -I list, and \`DIR/lib' will be added to the -L list." |
---|
783 | exit 1 |
---|
784 | ;; |
---|
785 | esac |
---|
786 | ]) |
---|
787 | |
---|
788 | |
---|
789 | |
---|
790 | ############################################################################### |
---|
791 | ############################################################################### |
---|
792 | # |
---|
793 | # End of function definitions. Now start actually executing stuff. |
---|
794 | # |
---|
795 | ############################################################################### |
---|
796 | ############################################################################### |
---|
797 | |
---|
798 | # random compiler setup |
---|
799 | AC_CANONICAL_HOST |
---|
800 | AC_PROG_CC_ANSI |
---|
801 | AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE |
---|
802 | AC_NO_OBJECTIVE_C |
---|
803 | AC_PROG_CPP |
---|
804 | AC_C_CONST |
---|
805 | AC_C_INLINE |
---|
806 | AC_EXEEXT |
---|
807 | AC_DEMAND_BC |
---|
808 | |
---|
809 | # stuff for Makefiles |
---|
810 | AC_PROG_INSTALL |
---|
811 | AC_PROG_INSTALL_DIRS |
---|
812 | AC_PROG_MAKE_SET |
---|
813 | |
---|
814 | # By default, autoconf sets INSTALL_SCRIPT to '${INSTALL_PROGRAM}'. |
---|
815 | # That's wrong: it should be set to '${INSTALL}', so that one can |
---|
816 | # implement the "install-strip" target properly (strip executables, |
---|
817 | # but do not try to strip scripts.) |
---|
818 | # |
---|
819 | INSTALL_SCRIPT='${INSTALL}' |
---|
820 | |
---|
821 | # random libc stuff |
---|
822 | AC_HEADER_STDC |
---|
823 | AC_CHECK_HEADERS(unistd.h) |
---|
824 | AC_TYPE_MODE_T |
---|
825 | AC_TYPE_PID_T |
---|
826 | AC_TYPE_SIZE_T |
---|
827 | AC_TYPE_SIGNAL |
---|
828 | AC_HEADER_TIME |
---|
829 | AC_HEADER_SYS_WAIT |
---|
830 | AC_HEADER_DIRENT |
---|
831 | AC_GETTIMEOFDAY_ARGS |
---|
832 | AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk) |
---|
833 | |
---|
834 | AC_CHECK_FUNCS(sigaction syslog realpath setrlimit) |
---|
835 | AC_CHECK_ICMP |
---|
836 | AC_CHECK_ICMPHDR |
---|
837 | AC_CHECK_HEADERS(crypt.h sys/select.h) |
---|
838 | AC_PROG_PERL |
---|
839 | |
---|
840 | if test -z "$PERL" ; then |
---|
841 | # don't let it be blank... |
---|
842 | PERL=/usr/bin/perl |
---|
843 | fi |
---|
844 | |
---|
845 | AC_PATH_XTRA |
---|
846 | |
---|
847 | if test "$have_x" != yes; then |
---|
848 | AC_MSG_ERROR(Couldn't find X11 headers/libs. Try \`$0 --help'.) |
---|
849 | fi |
---|
850 | |
---|
851 | AC_PATH_X_APP_DEFAULTS |
---|
852 | AC_X_RANDOM_PATHS |
---|
853 | AC_XPOINTER |
---|
854 | |
---|
855 | AC_MSG_CHECKING(whether this is MacOS X) |
---|
856 | ac_macosx=no |
---|
857 | case "$host" in |
---|
858 | *-apple-darwin* ) |
---|
859 | ac_macosx=yes |
---|
860 | ;; |
---|
861 | esac |
---|
862 | AC_MSG_RESULT($ac_macosx) |
---|
863 | |
---|
864 | |
---|
865 | |
---|
866 | ############################################################################### |
---|
867 | # |
---|
868 | # Gettext support |
---|
869 | # |
---|
870 | ############################################################################### |
---|
871 | |
---|
872 | AC_PROG_INTLTOOL |
---|
873 | GETTEXT_PACKAGE=xscreensaver |
---|
874 | AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE") |
---|
875 | AC_DEFINE_UNQUOTED(PACKAGE, "$GETTEXT_PACKAGE") |
---|
876 | AC_SUBST(GETTEXT_PACKAGE) |
---|
877 | |
---|
878 | ALL_LINGUAS="ca da de es et fi fr hu it ja ko nl no pl pt pt_BR ru sk sv vi wa zh_CN zh_TW" |
---|
879 | AM_GLIB_GNU_GETTEXT |
---|
880 | |
---|
881 | |
---|
882 | ############################################################################### |
---|
883 | # |
---|
884 | # Check for -lXmu (some fucked up vendors don't ship it...) |
---|
885 | # |
---|
886 | ############################################################################### |
---|
887 | |
---|
888 | have_xmu=no |
---|
889 | AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes],, |
---|
890 | [#include <stdlib.h> |
---|
891 | #include <stdio.h> |
---|
892 | #include <X11/Intrinsic.h>]) |
---|
893 | if test "$have_xmu" = no ; then |
---|
894 | XMU_SRCS='$(UTILS_SRC)/xmu.c' |
---|
895 | XMU_OBJS='$(UTILS_BIN)/xmu.o' |
---|
896 | XMU_LIBS='' |
---|
897 | else |
---|
898 | XMU_SRCS='' |
---|
899 | XMU_OBJS='' |
---|
900 | XMU_LIBS='-lXmu' |
---|
901 | AC_DEFINE(HAVE_XMU) |
---|
902 | fi |
---|
903 | |
---|
904 | |
---|
905 | ############################################################################### |
---|
906 | # |
---|
907 | # Check for the SunOS 4.1.x _get_wmShellWidgetClass bug. |
---|
908 | # See comp.windows.x FAQ question 124. The right fix is to |
---|
909 | # get OpenWindows 3.0 patches 100512-02 and 100573-03. |
---|
910 | # |
---|
911 | ############################################################################### |
---|
912 | |
---|
913 | if test "$have_xmu" = yes ; then |
---|
914 | case "$host" in |
---|
915 | *-sunos4*) |
---|
916 | AC_CACHE_CHECK([for the SunOS 4.1.x _get_wmShellWidgetClass bug], |
---|
917 | ac_cv_sunos_xmu_bug, |
---|
918 | [ac_save_LDFLAGS="$LDFLAGS" |
---|
919 | if test \! -z "$x_libraries" ; then |
---|
920 | LDFLAGS="$LDFLAGS -L$x_libraries" |
---|
921 | fi |
---|
922 | # Note: this trick never works! (Generally.) |
---|
923 | # We're only getting away with using AC_TRY_LINK |
---|
924 | # with X libraries because we know it's SunOS. |
---|
925 | LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm" |
---|
926 | AC_TRY_LINK(,, |
---|
927 | [ac_cv_sunos_xmu_bug=no], |
---|
928 | [ac_cv_sunos_xmu_bug=yes]) |
---|
929 | LDFLAGS="$ac_save_LDFLAGS"]) |
---|
930 | if test "$ac_cv_sunos_xmu_bug" = yes ; then |
---|
931 | AC_CACHE_CHECK([whether the compiler understands -static], |
---|
932 | ac_cv_ld_static, |
---|
933 | [ac_save_LDFLAGS="$LDFLAGS" |
---|
934 | LDFLAGS="$LDFLAGS -static" |
---|
935 | AC_TRY_LINK(,,[ac_cv_ld_static=yes],[ac_cv_ld_static=no]) |
---|
936 | LDFLAGS="$ac_save_LDFLAGS"]) |
---|
937 | if test "$ac_cv_ld_static" = yes ; then |
---|
938 | LDFLAGS="$LDFLAGS -static" |
---|
939 | else |
---|
940 | LDFLAGS="$LDFLAGS -Bstatic" |
---|
941 | fi |
---|
942 | fi |
---|
943 | ;; |
---|
944 | esac |
---|
945 | fi |
---|
946 | |
---|
947 | |
---|
948 | ############################################################################### |
---|
949 | # |
---|
950 | # Handle the --with-hackdir option |
---|
951 | # |
---|
952 | ############################################################################### |
---|
953 | |
---|
954 | have_hackdir=yes |
---|
955 | with_hackdir_req=unspecified |
---|
956 | AC_ARG_WITH(hackdir,[ |
---|
957 | Installation options: |
---|
958 | |
---|
959 | --with-hackdir=DIR Where to install the hundreds of demo executables. |
---|
960 | Default: \`PREFIX/lib/xscreensaver/'], |
---|
961 | [with_hackdir="$withval"; with_hackdir_req="$withval"],[with_hackdir=yes]) |
---|
962 | |
---|
963 | if test x"$with_hackdir" = xyes; then |
---|
964 | HACKDIR='${exec_prefix}/lib/xscreensaver' |
---|
965 | elif test x"$with_hackdir" = xno; then |
---|
966 | HACKDIR='${bindir}' |
---|
967 | else |
---|
968 | # there must be a better way than this... |
---|
969 | if test -z "`echo $with_hackdir | sed 's@^/.*@@'`" ; then |
---|
970 | # absolute path |
---|
971 | HACKDIR=$with_hackdir |
---|
972 | else |
---|
973 | # relative path |
---|
974 | HACKDIR="\${exec_prefix}$with_hackdir" |
---|
975 | fi |
---|
976 | fi |
---|
977 | |
---|
978 | # canonicalize slashes. |
---|
979 | HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'` |
---|
980 | |
---|
981 | # This option used to be called --enable-subdir; make sure that is no longer |
---|
982 | # used, since configure brain-damagedly ignores unknown --enable options. |
---|
983 | |
---|
984 | obsolete_enable= |
---|
985 | AC_ARG_ENABLE(subdir,,[obsolete_enable=yes]) |
---|
986 | if test -n "$obsolete_enable"; then |
---|
987 | echo "error: the --enable-subdir option has been replaced with" |
---|
988 | echo " the new --with-hackdir option; see \`configure --help'" |
---|
989 | echo " for more information." |
---|
990 | exit 1 |
---|
991 | fi |
---|
992 | |
---|
993 | |
---|
994 | ############################################################################### |
---|
995 | # |
---|
996 | # Handle the --with-configdir option |
---|
997 | # |
---|
998 | ############################################################################### |
---|
999 | |
---|
1000 | have_configdir=yes |
---|
1001 | with_configdir_req=unspecified |
---|
1002 | AC_ARG_WITH(configdir, |
---|
1003 | [ --with-configdir=DIR Where to install the data files that describe each |
---|
1004 | of the display modes to the GUI. |
---|
1005 | Default: \`GNOMEPREFIX/control-center/screensavers/' |
---|
1006 | or \`PREFIX/lib/xscreensaver/config/', depending on |
---|
1007 | whether GNOME is available. |
---|
1008 | ], |
---|
1009 | [with_configdir="$withval"; with_configdir_req="$withval"], |
---|
1010 | [with_configdir=yes]) |
---|
1011 | |
---|
1012 | if test x"$with_configdir" = xyes; then |
---|
1013 | # filled in later... |
---|
1014 | HACK_CONF_DIR='' |
---|
1015 | elif test x"$with_configdir" = xno; then |
---|
1016 | echo "error: must be yes, or a pathname: --with-configdir=$with_configdir" |
---|
1017 | exit 1 |
---|
1018 | else |
---|
1019 | # there must be a better way than this... |
---|
1020 | if test -z "`echo $with_configdir | sed 's@^/.*@@'`" ; then |
---|
1021 | # absolute path |
---|
1022 | HACK_CONF_DIR=$with_configdir |
---|
1023 | else |
---|
1024 | # relative path |
---|
1025 | HACK_CONF_DIR="\${exec_prefix}$with_configdir" |
---|
1026 | fi |
---|
1027 | fi |
---|
1028 | |
---|
1029 | |
---|
1030 | |
---|
1031 | |
---|
1032 | ############################################################################### |
---|
1033 | # |
---|
1034 | # Check for the SGI SCREEN_SAVER server extension. |
---|
1035 | # |
---|
1036 | ############################################################################### |
---|
1037 | |
---|
1038 | have_sgi=no |
---|
1039 | with_sgi_req=unspecified |
---|
1040 | AC_ARG_WITH(sgi-ext, |
---|
1041 | [Except where noted, all of the --with options below can also take a |
---|
1042 | directory argument: for example, \`--with-motif=/opt/Motif'. That would |
---|
1043 | cause /opt/Motif/include/ to be added to the -I list, and /opt/Motif/lib/ |
---|
1044 | to be added to the -L list, assuming those directories exist. |
---|
1045 | |
---|
1046 | By default, support for each of these options will be built in, if the |
---|
1047 | relevant library routines exist. At run time, they will then be used |
---|
1048 | only if the X server being used supports them. Each --with option has |
---|
1049 | a corresponding --without option, to override building support for them |
---|
1050 | at all. |
---|
1051 | |
---|
1052 | Screen blanking and idle-detection options: |
---|
1053 | |
---|
1054 | --with-sgi-ext Include support for the SGI SCREEN_SAVER extension.], |
---|
1055 | [with_sgi="$withval"; with_sgi_req="$withval"],[with_sgi=yes]) |
---|
1056 | |
---|
1057 | HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER) |
---|
1058 | |
---|
1059 | if test "$with_sgi" = yes; then |
---|
1060 | AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h, |
---|
1061 | [have_sgi=yes |
---|
1062 | AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)],, |
---|
1063 | [#include <X11/Xlib.h>]) |
---|
1064 | |
---|
1065 | elif test "$with_sgi" != no; then |
---|
1066 | echo "error: must be yes or no: --with-sgi-ext=$with_sgi" |
---|
1067 | exit 1 |
---|
1068 | fi |
---|
1069 | |
---|
1070 | |
---|
1071 | ############################################################################### |
---|
1072 | # |
---|
1073 | # Check for the MIT-SCREEN-SAVER server extension. |
---|
1074 | # |
---|
1075 | ############################################################################### |
---|
1076 | |
---|
1077 | have_mit=no |
---|
1078 | with_mit_req=unspecified |
---|
1079 | AC_ARG_WITH(mit-ext, |
---|
1080 | [ --with-mit-ext Include support for the MIT-SCREEN-SAVER extension.], |
---|
1081 | [with_mit="$withval"; with_mit_req="$withval"],[with_mit=yes]) |
---|
1082 | |
---|
1083 | HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER) |
---|
1084 | |
---|
1085 | if test "$with_mit" = yes; then |
---|
1086 | AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes],, |
---|
1087 | [#include <X11/Xlib.h>]) |
---|
1088 | |
---|
1089 | # Now check to see if it's really in the library; XF86Free-3.3 ships |
---|
1090 | # scrnsaver.h, but doesn't include the code in libXext.a, the idiots! |
---|
1091 | # |
---|
1092 | if test "$have_mit" = yes; then |
---|
1093 | AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [true], [have_mit=no], -lm) |
---|
1094 | |
---|
1095 | if test "$have_mit" = no; then |
---|
1096 | # Fuck! Looks like XF86Free-3.3 actually puts it in XExExt instead |
---|
1097 | # of in Xext. Thank you master, may I have another. |
---|
1098 | AC_CHECK_X_LIB(XExExt, XScreenSaverRegister, |
---|
1099 | [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXExExt"], |
---|
1100 | [true], -lX11 -lXext -lm) |
---|
1101 | fi |
---|
1102 | |
---|
1103 | if test "$have_mit" = no; then |
---|
1104 | # Double fuck! Looks like some versions of XFree86 (whichever version |
---|
1105 | # it is that comes with RedHat Linux 2.0 -- I can't find a version |
---|
1106 | # number) put this garbage in Xss instead of Xext. Thank you master, |
---|
1107 | # may I have another. |
---|
1108 | AC_CHECK_X_LIB(Xss, XScreenSaverRegister, |
---|
1109 | [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXss"], |
---|
1110 | [true], -lX11 -lXext -lm) |
---|
1111 | fi |
---|
1112 | |
---|
1113 | if test "$have_mit" = yes; then |
---|
1114 | AC_DEFINE(HAVE_MIT_SAVER_EXTENSION) |
---|
1115 | fi |
---|
1116 | |
---|
1117 | fi |
---|
1118 | |
---|
1119 | elif test "$with_mit" != no; then |
---|
1120 | echo "error: must be yes or no: --with-mit-ext=$with_mit" |
---|
1121 | exit 1 |
---|
1122 | fi |
---|
1123 | |
---|
1124 | |
---|
1125 | ############################################################################### |
---|
1126 | # |
---|
1127 | # Check for the XIDLE server extension. |
---|
1128 | # |
---|
1129 | ############################################################################### |
---|
1130 | |
---|
1131 | have_xidle=no |
---|
1132 | with_xidle_req=unspecified |
---|
1133 | AC_ARG_WITH(xidle-ext, |
---|
1134 | [ --with-xidle-ext Include support for the XIDLE extension.], |
---|
1135 | [with_xidle="$withval"; with_xidle_req="$withval"],[with_xidle=yes]) |
---|
1136 | |
---|
1137 | HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE) |
---|
1138 | |
---|
1139 | if test "$with_xidle" = yes; then |
---|
1140 | AC_CHECK_X_HEADER(X11/extensions/xidle.h, |
---|
1141 | [have_xidle=yes |
---|
1142 | AC_DEFINE(HAVE_XIDLE_EXTENSION)],, |
---|
1143 | [#include <X11/Xlib.h>]) |
---|
1144 | elif test "$with_xidle" != no; then |
---|
1145 | echo "error: must be yes or no: --with-xidle-ext=$with_xidle" |
---|
1146 | exit 1 |
---|
1147 | fi |
---|
1148 | |
---|
1149 | |
---|
1150 | ############################################################################### |
---|
1151 | # |
---|
1152 | # Check for the SGI-VIDEO-CONTROL server extension. |
---|
1153 | # |
---|
1154 | ############################################################################### |
---|
1155 | |
---|
1156 | have_sgivc=no |
---|
1157 | with_sgivc_req=unspecified |
---|
1158 | AC_ARG_WITH(sgivc-ext, |
---|
1159 | [ --with-sgivc-ext Include support for the SGI-VIDEO-CONTROL extension.], |
---|
1160 | [with_sgivc="$withval"; with_sgivc_req="$withval"],[with_sgivc=yes]) |
---|
1161 | |
---|
1162 | HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL) |
---|
1163 | |
---|
1164 | if test "$with_sgivc" = yes; then |
---|
1165 | |
---|
1166 | # first check for XSGIvc.h |
---|
1167 | AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes],, |
---|
1168 | [#include <X11/Xlib.h>]) |
---|
1169 | |
---|
1170 | # if that succeeded, then check for the -lXsgivc |
---|
1171 | if test "$have_sgivc" = yes; then |
---|
1172 | have_sgivc=no |
---|
1173 | AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap, |
---|
1174 | [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [true], |
---|
1175 | -lXext -lX11) |
---|
1176 | fi |
---|
1177 | |
---|
1178 | # if that succeeded, then we've really got it. |
---|
1179 | if test "$have_sgivc" = yes; then |
---|
1180 | AC_DEFINE(HAVE_SGI_VC_EXTENSION) |
---|
1181 | fi |
---|
1182 | |
---|
1183 | elif test "$with_sgivc" != no; then |
---|
1184 | echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc" |
---|
1185 | exit 1 |
---|
1186 | fi |
---|
1187 | |
---|
1188 | |
---|
1189 | ############################################################################### |
---|
1190 | # |
---|
1191 | # Check for the DPMS server extension. |
---|
1192 | # |
---|
1193 | ############################################################################### |
---|
1194 | |
---|
1195 | have_dpms=no |
---|
1196 | with_dpms_req=unspecified |
---|
1197 | AC_ARG_WITH(dpms-ext, |
---|
1198 | [ --with-dpms-ext Include support for the DPMS extension.], |
---|
1199 | [with_dpms="$withval"; with_dpms_req="$withval"],[with_dpms=yes]) |
---|
1200 | |
---|
1201 | HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS) |
---|
1202 | |
---|
1203 | if test "$with_dpms" = yes; then |
---|
1204 | |
---|
1205 | # first check for dpms.h |
---|
1206 | AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes],, |
---|
1207 | [#include <X11/Xlib.h> |
---|
1208 | #include <X11/Xmd.h>]) |
---|
1209 | |
---|
1210 | # if that succeeded, then check for the DPMS code in the libraries |
---|
1211 | if test "$have_dpms" = yes; then |
---|
1212 | |
---|
1213 | # first look in -lXext (this is where it is with XFree86 4.0) |
---|
1214 | have_dpms=no |
---|
1215 | AC_CHECK_X_LIB(Xext, DPMSInfo, [have_dpms=yes], [true], -lXext -lX11) |
---|
1216 | |
---|
1217 | # if that failed, look in -lXdpms (this is where it was in XFree86 3.x) |
---|
1218 | if test "$have_dpms" = no; then |
---|
1219 | AC_CHECK_X_LIB(Xdpms, DPMSInfo, |
---|
1220 | [have_dpms=yes; XDPMS_LIBS="-lXdpms"], [true], |
---|
1221 | -lXext -lX11) |
---|
1222 | fi |
---|
1223 | fi |
---|
1224 | |
---|
1225 | |
---|
1226 | # if that succeeded, then we've really got it. |
---|
1227 | if test "$have_dpms" = yes; then |
---|
1228 | AC_DEFINE(HAVE_DPMS_EXTENSION) |
---|
1229 | fi |
---|
1230 | |
---|
1231 | elif test "$with_dpms" != no; then |
---|
1232 | echo "error: must be yes or no: --with-dpms-ext=$with_dpms" |
---|
1233 | exit 1 |
---|
1234 | fi |
---|
1235 | |
---|
1236 | |
---|
1237 | ############################################################################### |
---|
1238 | # |
---|
1239 | # Check for the XINERAMA server extension. |
---|
1240 | # |
---|
1241 | ############################################################################### |
---|
1242 | |
---|
1243 | have_xinerama=no |
---|
1244 | with_xinerama_req=unspecified |
---|
1245 | AC_ARG_WITH(xinerama-ext, |
---|
1246 | [ --with-xinerama-ext Include support for the XINERAMA extension.], |
---|
1247 | [with_xinerama="$withval"; with_xinerama_req="$withval"],[with_xinerama=yes]) |
---|
1248 | |
---|
1249 | HANDLE_X_PATH_ARG(with_xinerama, --with-xinerama-ext, XINERAMA) |
---|
1250 | |
---|
1251 | if test "$with_xinerama" = yes; then |
---|
1252 | |
---|
1253 | # first check for Xinerama.h |
---|
1254 | AC_CHECK_X_HEADER(X11/extensions/Xinerama.h, [have_xinerama=yes],, |
---|
1255 | [#include <X11/Xlib.h>]) |
---|
1256 | |
---|
1257 | # if that succeeded, then check for the XINERAMA code in the libraries |
---|
1258 | if test "$have_xinerama" = yes; then |
---|
1259 | |
---|
1260 | # first look in -lXext |
---|
1261 | have_xinerama=no |
---|
1262 | AC_CHECK_X_LIB(Xext, XineramaQueryExtension, [have_xinerama=yes], [true], |
---|
1263 | -lXext -lX11) |
---|
1264 | |
---|
1265 | # if that failed, look in -lXinerama (this is where it is in XFree86 4.1.) |
---|
1266 | if test "$have_xinerama" = no; then |
---|
1267 | AC_CHECK_X_LIB(Xinerama, XineramaQueryExtension, |
---|
1268 | [have_xinerama=yes; SAVER_LIBS="$SAVER_LIBS -lXinerama"], |
---|
1269 | [true], -lXext -lX11) |
---|
1270 | fi |
---|
1271 | fi |
---|
1272 | |
---|
1273 | # if that succeeded, then we've really got it. |
---|
1274 | if test "$have_xinerama" = yes; then |
---|
1275 | AC_DEFINE(HAVE_XINERAMA) |
---|
1276 | fi |
---|
1277 | |
---|
1278 | elif test "$with_xinerama" != no; then |
---|
1279 | echo "error: must be yes or no: --with-xinerama-ext=$with_xinerama" |
---|
1280 | exit 1 |
---|
1281 | fi |
---|
1282 | |
---|
1283 | |
---|
1284 | ############################################################################### |
---|
1285 | # |
---|
1286 | # Check for the XF86VMODE server extension (for virtual screens.) |
---|
1287 | # |
---|
1288 | ############################################################################### |
---|
1289 | |
---|
1290 | have_xf86vmode=no |
---|
1291 | with_xf86vmode_req=unspecified |
---|
1292 | AC_ARG_WITH(xf86vmode-ext, |
---|
1293 | [ --with-xf86vmode-ext Include support for XFree86 virtual screens.], |
---|
1294 | [with_xf86vmode="$withval"; with_xf86vmode_req="$withval"], |
---|
1295 | [with_xf86vmode=yes]) |
---|
1296 | |
---|
1297 | HANDLE_X_PATH_ARG(with_xf86vmode, --with-xf86vmode-ext, xf86vmode) |
---|
1298 | |
---|
1299 | if test "$with_xf86vmode" = yes; then |
---|
1300 | |
---|
1301 | # first check for xf86vmode.h |
---|
1302 | AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86vmode=yes],, |
---|
1303 | [#include <X11/Xlib.h>]) |
---|
1304 | |
---|
1305 | # if that succeeded, then check for the -lXxf86vm |
---|
1306 | if test "$have_xf86vmode" = yes; then |
---|
1307 | have_xf86vmode=no |
---|
1308 | AC_CHECK_X_LIB(Xxf86vm, XF86VidModeGetViewPort, |
---|
1309 | [have_xf86vmode=yes; SAVER_LIBS="$SAVER_LIBS -lXxf86vm"], |
---|
1310 | [true], -lXext -lX11) |
---|
1311 | fi |
---|
1312 | |
---|
1313 | # if that succeeded, then we've really got it. |
---|
1314 | if test "$have_xf86vmode" = yes; then |
---|
1315 | AC_DEFINE(HAVE_XF86VMODE) |
---|
1316 | fi |
---|
1317 | |
---|
1318 | elif test "$with_xf86vmode" != no; then |
---|
1319 | echo "error: must be yes or no: --with-xf86vmode-ext=$with_xf86vmode" |
---|
1320 | exit 1 |
---|
1321 | fi |
---|
1322 | |
---|
1323 | |
---|
1324 | ############################################################################### |
---|
1325 | # |
---|
1326 | # Check for the XF86VMODE server extension (for gamma fading.) |
---|
1327 | # |
---|
1328 | ############################################################################### |
---|
1329 | |
---|
1330 | have_xf86gamma=no |
---|
1331 | have_xf86gamma_ramp=no |
---|
1332 | with_xf86gamma_req=unspecified |
---|
1333 | AC_ARG_WITH(xf86gamma-ext, |
---|
1334 | [ --with-xf86gamma-ext Include support for XFree86 gamma fading.], |
---|
1335 | [with_xf86gamma="$withval"; with_xf86gamma_req="$withval"], |
---|
1336 | [with_xf86gamma=yes]) |
---|
1337 | |
---|
1338 | HANDLE_X_PATH_ARG(with_xf86gamma, --with-xf86gamma-ext, xf86gamma) |
---|
1339 | |
---|
1340 | if test "$with_xf86gamma" = yes; then |
---|
1341 | |
---|
1342 | # first check for xf86vmode.h, if we haven't already |
---|
1343 | if test "$have_xf86vmode" = yes; then |
---|
1344 | have_xf86gamma=yes |
---|
1345 | else |
---|
1346 | AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86gamma=yes],, |
---|
1347 | [#include <X11/Xlib.h>]) |
---|
1348 | fi |
---|
1349 | |
---|
1350 | # if that succeeded, then check for the -lXxf86vm |
---|
1351 | if test "$have_xf86gamma" = yes; then |
---|
1352 | have_xf86gamma=no |
---|
1353 | AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGamma, |
---|
1354 | [have_xf86gamma=yes], |
---|
1355 | [true], -lXext -lX11) |
---|
1356 | fi |
---|
1357 | |
---|
1358 | # check for the Ramp versions of the functions too. |
---|
1359 | if test "$have_xf86gamma" = yes; then |
---|
1360 | have_xf86gamma_ramp=no |
---|
1361 | AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGammaRamp, |
---|
1362 | [have_xf86gamma_ramp=yes], |
---|
1363 | [true], -lXext -lX11) |
---|
1364 | fi |
---|
1365 | |
---|
1366 | # if those tests succeeded, then we've really got the functions. |
---|
1367 | if test "$have_xf86gamma" = yes; then |
---|
1368 | AC_DEFINE(HAVE_XF86VMODE_GAMMA) |
---|
1369 | fi |
---|
1370 | |
---|
1371 | if test "$have_xf86gamma_ramp" = yes; then |
---|
1372 | AC_DEFINE(HAVE_XF86VMODE_GAMMA_RAMP) |
---|
1373 | fi |
---|
1374 | |
---|
1375 | # pull in the lib, if we haven't already |
---|
1376 | if test "$have_xf86gamma" = yes -a "$have_xf86vmode" = no; then |
---|
1377 | SAVER_LIBS="$SAVER_LIBS -lXxf86vm" |
---|
1378 | fi |
---|
1379 | |
---|
1380 | elif test "$with_xf86gamma" != no; then |
---|
1381 | echo "error: must be yes or no: --with-xf86gamma-ext=$with_xf86vmode" |
---|
1382 | exit 1 |
---|
1383 | fi |
---|
1384 | |
---|
1385 | |
---|
1386 | ############################################################################### |
---|
1387 | # |
---|
1388 | # Check for XF86MiscSetGrabKeysState (but only bother if we are already |
---|
1389 | # using other XF86 stuff.) |
---|
1390 | # |
---|
1391 | ############################################################################### |
---|
1392 | |
---|
1393 | have_xf86miscsetgrabkeysstate=no |
---|
1394 | if test "$have_xf86gamma" = yes -o "$have_xf86vmode" = yes; then |
---|
1395 | AC_CHECK_X_LIB(Xxf86misc, XF86MiscSetGrabKeysState, |
---|
1396 | [have_xf86miscsetgrabkeysstate=yes], |
---|
1397 | [true], -lXext -lX11) |
---|
1398 | if test "$have_xf86miscsetgrabkeysstate" = yes ; then |
---|
1399 | SAVER_LIBS="$SAVER_LIBS -lXxf86misc" |
---|
1400 | AC_DEFINE(HAVE_XF86MISCSETGRABKEYSSTATE) |
---|
1401 | fi |
---|
1402 | fi |
---|
1403 | |
---|
1404 | |
---|
1405 | ############################################################################### |
---|
1406 | # |
---|
1407 | # Check for HP XHPDisableReset and XHPEnableReset. |
---|
1408 | # |
---|
1409 | ############################################################################### |
---|
1410 | |
---|
1411 | AC_MSG_CHECKING([for XHPDisableReset in X11/XHPlib.h]) |
---|
1412 | AC_EGREP_X_HEADER(XHPDisableReset, X11/XHPlib.h, |
---|
1413 | [AC_DEFINE(HAVE_XHPDISABLERESET) |
---|
1414 | SAVER_LIBS="-lXhp11 $SAVER_LIBS" |
---|
1415 | AC_MSG_RESULT(yes)], |
---|
1416 | [AC_MSG_RESULT(no)]) |
---|
1417 | |
---|
1418 | |
---|
1419 | ############################################################################### |
---|
1420 | # |
---|
1421 | # Check for /proc/interrupts. |
---|
1422 | # |
---|
1423 | ############################################################################### |
---|
1424 | |
---|
1425 | have_proc_interrupts=no |
---|
1426 | with_proc_interrupts_req=unspecified |
---|
1427 | AC_ARG_WITH(proc-interrupts, |
---|
1428 | [ --with-proc-interrupts Include support for consulting the /proc/interrupts |
---|
1429 | file to notice keyboard activity.], |
---|
1430 | [with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"], |
---|
1431 | [with_proc_interrupts=yes]) |
---|
1432 | |
---|
1433 | if test "$with_proc_interrupts" = yes; then |
---|
1434 | |
---|
1435 | AC_CACHE_CHECK([whether /proc/interrupts contains keyboard data], |
---|
1436 | ac_cv_have_proc_interrupts, |
---|
1437 | [ac_cv_have_proc_interrupts=no |
---|
1438 | if grep keyboard /proc/interrupts >/dev/null 2>&1 ; then |
---|
1439 | ac_cv_have_proc_interrupts=yes |
---|
1440 | fi |
---|
1441 | ]) |
---|
1442 | have_proc_interrupts=$ac_cv_have_proc_interrupts |
---|
1443 | |
---|
1444 | if test "$have_proc_interrupts" = yes; then |
---|
1445 | AC_DEFINE(HAVE_PROC_INTERRUPTS) |
---|
1446 | fi |
---|
1447 | |
---|
1448 | elif test "$with_proc_interrupts" != no; then |
---|
1449 | echo "error: must be yes or no: --with-proc-interrupts=$with_proc_interrupts" |
---|
1450 | exit 1 |
---|
1451 | fi |
---|
1452 | |
---|
1453 | |
---|
1454 | ############################################################################### |
---|
1455 | # |
---|
1456 | # The --enable-locking option |
---|
1457 | # |
---|
1458 | ############################################################################### |
---|
1459 | |
---|
1460 | AC_ARG_ENABLE(locking,[ |
---|
1461 | Screen locking options: |
---|
1462 | |
---|
1463 | --enable-locking Compile in support for locking the display. |
---|
1464 | --disable-locking Do not allow locking at all.], |
---|
1465 | [enable_locking="$enableval"],[enable_locking=yes]) |
---|
1466 | if test "$enable_locking" = yes; then |
---|
1467 | true |
---|
1468 | elif test "$enable_locking" = no; then |
---|
1469 | AC_DEFINE(NO_LOCKING) |
---|
1470 | else |
---|
1471 | echo "error: must be yes or no: --enable-locking=$enable_locking" |
---|
1472 | exit 1 |
---|
1473 | fi |
---|
1474 | |
---|
1475 | # We can't lock on MacOS X, so don't even bother compiling in support for it. |
---|
1476 | # |
---|
1477 | if test "$ac_macosx" = yes; then |
---|
1478 | if test "$enable_locking" = yes; then |
---|
1479 | AC_MSG_RESULT(locking disabled: it doesn't work on MacOS X) |
---|
1480 | enable_locking=no |
---|
1481 | AC_DEFINE(NO_LOCKING) |
---|
1482 | fi |
---|
1483 | fi |
---|
1484 | |
---|
1485 | |
---|
1486 | ############################################################################### |
---|
1487 | # |
---|
1488 | # The --enable-vt-locking option |
---|
1489 | # |
---|
1490 | ############################################################################### |
---|
1491 | |
---|
1492 | #ac_vt_lockswitch=no |
---|
1493 | #AC_ARG_ENABLE(vt-locking,[ |
---|
1494 | # --enable-vt-locking Compile in support for locking Virtual Terminals. |
---|
1495 | # This is the default if the system supports it, and |
---|
1496 | # if locking support is included (--enable-locking.) |
---|
1497 | # --disable-vt-locking Do not allow locking of VTs, even if locking is |
---|
1498 | # enabled.], |
---|
1499 | # [enable_vt_locking="$enableval"],[enable_vt_locking=yes]) |
---|
1500 | #if test "$enable_vt_locking" = yes; then |
---|
1501 | # |
---|
1502 | # AC_CACHE_CHECK([for the VT_LOCKSWITCH ioctl], ac_cv_vt_lockswitch, |
---|
1503 | # [AC_TRY_COMPILE([#include <fcntl.h> |
---|
1504 | # #include <sys/ioctl.h> |
---|
1505 | # #include <sys/vt.h>], |
---|
1506 | # [int x = VT_LOCKSWITCH; int y = VT_UNLOCKSWITCH;], |
---|
1507 | # [ac_cv_vt_lockswitch=yes], |
---|
1508 | # [ac_cv_vt_lockswitch=no])]) |
---|
1509 | # ac_vt_lockswitch=$ac_cv_vt_lockswitch |
---|
1510 | # |
---|
1511 | #elif test "$enable_vt_locking" = no; then |
---|
1512 | # true |
---|
1513 | #else |
---|
1514 | # echo "error: must be yes or no: --enable-vt-locking=$enable_vt_locking" |
---|
1515 | # exit 1 |
---|
1516 | #fi |
---|
1517 | # |
---|
1518 | #if test "$ac_vt_lockswitch" = yes; then |
---|
1519 | # AC_DEFINE(HAVE_VT_LOCKSWITCH) |
---|
1520 | # # the VT_LOCKSWITCH ioctl can only be used when running as root. |
---|
1521 | # # #### but it doesn't work yet, so don't worry about that for now. |
---|
1522 | ## need_setuid=yes |
---|
1523 | #fi |
---|
1524 | |
---|
1525 | |
---|
1526 | ############################################################################### |
---|
1527 | # |
---|
1528 | # Check for PAM. |
---|
1529 | # |
---|
1530 | ############################################################################### |
---|
1531 | |
---|
1532 | case "$host" in |
---|
1533 | *-solaris*) |
---|
1534 | # Solaris systems tend to come with PAM misconfigured. |
---|
1535 | # Don't build it by default, even if the headers exist. |
---|
1536 | with_pam_default=no |
---|
1537 | ;; |
---|
1538 | *) |
---|
1539 | # Default to building PAM support on all other systems, if it exists. |
---|
1540 | with_pam_default=yes |
---|
1541 | ;; |
---|
1542 | esac |
---|
1543 | |
---|
1544 | have_pam=no |
---|
1545 | with_pam_req=unspecified |
---|
1546 | |
---|
1547 | AC_ARG_WITH(pam, |
---|
1548 | [ --with-pam Include support for PAM (Pluggable Auth Modules.)], |
---|
1549 | [with_pam="$withval"; with_pam_req="$withval"],[with_pam=$with_pam_default]) |
---|
1550 | |
---|
1551 | HANDLE_X_PATH_ARG(with_pam, --with-pam, PAM) |
---|
1552 | |
---|
1553 | if test "$enable_locking" = yes -a "$with_pam" = yes; then |
---|
1554 | AC_CACHE_CHECK([for PAM], ac_cv_pam, |
---|
1555 | [AC_TRY_X_COMPILE([#include <security/pam_appl.h>],, |
---|
1556 | [ac_cv_pam=yes], |
---|
1557 | [ac_cv_pam=no])]) |
---|
1558 | if test "$ac_cv_pam" = yes ; then |
---|
1559 | have_pam=yes |
---|
1560 | AC_DEFINE(HAVE_PAM) |
---|
1561 | PASSWD_LIBS="${PASSWD_LIBS} -lpam" |
---|
1562 | |
---|
1563 | # libpam typically requires dlopen and dlsym. On FreeBSD, |
---|
1564 | # those are in libc. On Linux and Solaris, they're in libdl. |
---|
1565 | AC_CHECK_LIB(dl, dlopen, [PASSWD_LIBS="${PASSWD_LIBS} -ldl"]) |
---|
1566 | |
---|
1567 | AC_MSG_CHECKING(how to call pam_strerror) |
---|
1568 | AC_CACHE_VAL(ac_cv_pam_strerror_args, |
---|
1569 | [AC_TRY_COMPILE([#include <stdio.h> |
---|
1570 | #include <stdlib.h> |
---|
1571 | #include <security/pam_appl.h>], |
---|
1572 | [pam_handle_t *pamh = 0; |
---|
1573 | char *s = pam_strerror(pamh, PAM_SUCCESS);], |
---|
1574 | [ac_pam_strerror_args=2], |
---|
1575 | [AC_TRY_COMPILE([#include <stdio.h> |
---|
1576 | #include <stdlib.h> |
---|
1577 | #include <security/pam_appl.h>], |
---|
1578 | [char *s = |
---|
1579 | pam_strerror(PAM_SUCCESS);], |
---|
1580 | [ac_pam_strerror_args=1], |
---|
1581 | [ac_pam_strerror_args=0])]) |
---|
1582 | ac_cv_pam_strerror_args=$ac_pam_strerror_args]) |
---|
1583 | ac_pam_strerror_args=$ac_cv_pam_strerror_args |
---|
1584 | if test "$ac_pam_strerror_args" = 1 ; then |
---|
1585 | AC_MSG_RESULT(one argument) |
---|
1586 | elif test "$ac_pam_strerror_args" = 2 ; then |
---|
1587 | AC_DEFINE(PAM_STRERROR_TWO_ARGS) |
---|
1588 | AC_MSG_RESULT(two arguments) |
---|
1589 | else |
---|
1590 | AC_MSG_RESULT(unknown) |
---|
1591 | fi |
---|
1592 | fi |
---|
1593 | fi |
---|
1594 | |
---|
1595 | |
---|
1596 | ############################################################################### |
---|
1597 | # |
---|
1598 | # Check for Kerberos. |
---|
1599 | # |
---|
1600 | ############################################################################### |
---|
1601 | |
---|
1602 | have_kerberos=no |
---|
1603 | have_kerberos5=no |
---|
1604 | with_kerberos_req=unspecified |
---|
1605 | |
---|
1606 | AC_ARG_WITH(kerberos, |
---|
1607 | [ --with-kerberos Include support for Kerberos authentication.], |
---|
1608 | [with_kerberos="$withval"; with_kerberos_req="$withval"],[with_kerberos=yes]) |
---|
1609 | |
---|
1610 | HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos) |
---|
1611 | |
---|
1612 | if test "$enable_locking" = yes -a "$with_kerberos" = yes; then |
---|
1613 | AC_CACHE_CHECK([for Kerberos 4], ac_cv_kerberos, |
---|
1614 | [AC_TRY_X_COMPILE([#include <krb.h>],, |
---|
1615 | [ac_cv_kerberos=yes], |
---|
1616 | [ac_cv_kerberos=no])]) |
---|
1617 | AC_CACHE_CHECK([for Kerberos 5], ac_cv_kerberos5, |
---|
1618 | [AC_TRY_X_COMPILE([#include <kerberosIV/krb.h>],, |
---|
1619 | [ac_cv_kerberos5=yes], |
---|
1620 | [ac_cv_kerberos5=no])]) |
---|
1621 | |
---|
1622 | if test "$ac_cv_kerberos" = yes ; then |
---|
1623 | have_kerberos=yes |
---|
1624 | AC_DEFINE(HAVE_KERBEROS) |
---|
1625 | fi |
---|
1626 | |
---|
1627 | if test "$ac_cv_kerberos5" = yes ; then |
---|
1628 | |
---|
1629 | # Andrew Snare <ajs@pigpond.com> wrote: |
---|
1630 | # |
---|
1631 | # You were assuming that if kerberosV (krb5) was found, then kerberosIV |
---|
1632 | # (krb4) was also available. This turns out not to be the case with |
---|
1633 | # mit-krb-1.2.7; apparently backwards-compatibility with KerberosIV |
---|
1634 | # is optional. |
---|
1635 | # |
---|
1636 | # So, disable kerberosV support if libkrb4 can't be found. |
---|
1637 | # This is not the best solution, but it makes the compile not fail. |
---|
1638 | # |
---|
1639 | AC_CHECK_X_LIB(krb4, krb_get_tf_realm, |
---|
1640 | [have_kerberos=yes], |
---|
1641 | [have_kerberos=no]) |
---|
1642 | if test "$have_kerberos" = yes ; then |
---|
1643 | have_kerberos5=yes |
---|
1644 | AC_DEFINE(HAVE_KERBEROS) |
---|
1645 | AC_DEFINE(HAVE_KERBEROS5) |
---|
1646 | else |
---|
1647 | have_kerberos5=no |
---|
1648 | AC_MSG_WARN([Cannot find compat lib (libkrb4) needed to use Kerberos 5]) |
---|
1649 | fi |
---|
1650 | |
---|
1651 | fi |
---|
1652 | |
---|
1653 | if test "$have_kerberos5" = yes ; then |
---|
1654 | # from Matt Knopp <mhat@infocalypse.netlag.com> |
---|
1655 | # (who got it from amu@mit.edu) |
---|
1656 | |
---|
1657 | PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err" |
---|
1658 | |
---|
1659 | # jwz: MacOS X uses -lkrb5, but not -lcrypt |
---|
1660 | AC_CHECK_X_LIB(crypt, crypt, [PASSWD_LIBS="$PASSWD_LIBS -lcrypt"]) |
---|
1661 | |
---|
1662 | elif test "$have_kerberos" = yes ; then |
---|
1663 | # from Tim Showalter <tjs@psaux.com> for FreeBSD 4.2 |
---|
1664 | PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes -lcom_err" |
---|
1665 | fi |
---|
1666 | |
---|
1667 | if test "$have_kerberos" = yes ; then |
---|
1668 | AC_CHECK_FUNC(res_search,, |
---|
1669 | AC_CHECK_LIB(resolv,res_search,PASSWD_LIBS="${PASSWD_LIBS} -lresolv", |
---|
1670 | AC_MSG_WARN([Can't find DNS resolver libraries needed for Kerberos]) |
---|
1671 | )) |
---|
1672 | fi |
---|
1673 | fi |
---|
1674 | |
---|
1675 | |
---|
1676 | ############################################################################### |
---|
1677 | # |
---|
1678 | # Check for the nine billion variants of shadow passwords... |
---|
1679 | # |
---|
1680 | ############################################################################### |
---|
1681 | |
---|
1682 | need_setuid=no |
---|
1683 | |
---|
1684 | have_shadow=no |
---|
1685 | with_shadow_req=unspecified |
---|
1686 | |
---|
1687 | AC_ARG_WITH(shadow, |
---|
1688 | [ --with-shadow Include support for shadow password authentication.], |
---|
1689 | [with_shadow="$withval"; with_shadow_req="$withval"],[with_shadow=yes]) |
---|
1690 | |
---|
1691 | HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password) |
---|
1692 | |
---|
1693 | if test "$enable_locking" = no ; then |
---|
1694 | with_shadow_req=no |
---|
1695 | with_shadow=no |
---|
1696 | fi |
---|
1697 | |
---|
1698 | |
---|
1699 | ############################################################################### |
---|
1700 | # |
---|
1701 | # Check for Sun "adjunct" passwords. |
---|
1702 | # |
---|
1703 | ############################################################################### |
---|
1704 | |
---|
1705 | if test "$with_shadow" = yes ; then |
---|
1706 | AC_CACHE_CHECK([for Sun-style shadow passwords], ac_cv_sun_adjunct, |
---|
1707 | [AC_TRY_X_COMPILE([#include <stdlib.h> |
---|
1708 | #include <unistd.h> |
---|
1709 | #include <sys/types.h> |
---|
1710 | #include <sys/label.h> |
---|
1711 | #include <sys/audit.h> |
---|
1712 | #include <pwdadj.h>], |
---|
1713 | [struct passwd_adjunct *p = getpwanam("nobody"); |
---|
1714 | const char *pw = p->pwa_passwd;], |
---|
1715 | [ac_cv_sun_adjunct=yes], |
---|
1716 | [ac_cv_sun_adjunct=no])]) |
---|
1717 | if test "$ac_cv_sun_adjunct" = yes; then |
---|
1718 | have_shadow_adjunct=yes |
---|
1719 | have_shadow=yes |
---|
1720 | need_setuid=yes |
---|
1721 | fi |
---|
1722 | fi |
---|
1723 | |
---|
1724 | |
---|
1725 | ############################################################################### |
---|
1726 | # |
---|
1727 | # Check for DEC and SCO so-called "enhanced" security. |
---|
1728 | # |
---|
1729 | ############################################################################### |
---|
1730 | |
---|
1731 | if test "$with_shadow" = yes ; then |
---|
1732 | AC_CACHE_CHECK([for DEC-style shadow passwords], ac_cv_enhanced_passwd, |
---|
1733 | [AC_TRY_X_COMPILE([#include <stdlib.h> |
---|
1734 | #include <unistd.h> |
---|
1735 | #include <sys/types.h> |
---|
1736 | #include <pwd.h> |
---|
1737 | #include <sys/security.h> |
---|
1738 | #include <prot.h>], |
---|
1739 | [struct pr_passwd *p; |
---|
1740 | const char *pw; |
---|
1741 | set_auth_parameters(0, 0); |
---|
1742 | check_auth_parameters(); |
---|
1743 | p = getprpwnam("nobody"); |
---|
1744 | pw = p->ufld.fd_encrypt;], |
---|
1745 | [ac_cv_enhanced_passwd=yes], |
---|
1746 | [ac_cv_enhanced_passwd=no])]) |
---|
1747 | if test $ac_cv_enhanced_passwd = yes; then |
---|
1748 | have_shadow_enhanced=yes |
---|
1749 | have_shadow=yes |
---|
1750 | need_setuid=yes |
---|
1751 | |
---|
1752 | # On SCO, getprpwnam() is in -lprot (which uses nap() from -lx) |
---|
1753 | # (I'm told it needs -lcurses too, but I don't understand why.) |
---|
1754 | # But on DEC, it's in -lsecurity. |
---|
1755 | # |
---|
1756 | AC_CHECK_LIB(prot, getprpwnam, |
---|
1757 | [PASSWD_LIBS="$PASSWD_LIBS -lprot -lcurses -lx"], |
---|
1758 | [AC_CHECK_LIB(security, getprpwnam, |
---|
1759 | [PASSWD_LIBS="$PASSWD_LIBS -lsecurity"])], |
---|
1760 | [-lx]) |
---|
1761 | fi |
---|
1762 | fi |
---|
1763 | |
---|
1764 | ############################################################################### |
---|
1765 | # |
---|
1766 | # Check for HP's entry in the "Not Invented Here" Sweepstakes. |
---|
1767 | # |
---|
1768 | ############################################################################### |
---|
1769 | |
---|
1770 | if test "$with_shadow" = yes ; then |
---|
1771 | AC_CACHE_CHECK([for HP-style shadow passwords], ac_cv_hpux_passwd, |
---|
1772 | [AC_TRY_X_COMPILE([#include <stdlib.h> |
---|
1773 | #include <unistd.h> |
---|
1774 | #include <sys/types.h> |
---|
1775 | #include <pwd.h> |
---|
1776 | #include <hpsecurity.h> |
---|
1777 | #include <prot.h>], |
---|
1778 | [struct s_passwd *p = getspwnam("nobody"); |
---|
1779 | const char *pw = p->pw_passwd;], |
---|
1780 | [ac_cv_hpux_passwd=yes], |
---|
1781 | [ac_cv_hpux_passwd=no])]) |
---|
1782 | if test "$ac_cv_hpux_passwd" = yes; then |
---|
1783 | have_shadow_hpux=yes |
---|
1784 | have_shadow=yes |
---|
1785 | need_setuid=yes |
---|
1786 | |
---|
1787 | # on HPUX, bigcrypt is in -lsec |
---|
1788 | AC_CHECK_LIB(sec, bigcrypt, [PASSWD_LIBS="$PASSWD_LIBS -lsec"]) |
---|
1789 | fi |
---|
1790 | fi |
---|
1791 | |
---|
1792 | |
---|
1793 | ############################################################################### |
---|
1794 | # |
---|
1795 | # Check for FreeBSD-style shadow passwords. |
---|
1796 | # |
---|
1797 | # On FreeBSD, getpwnam() and friends work just like on non-shadow- |
---|
1798 | # password systems -- except you only get stuff in the pw_passwd field |
---|
1799 | # if the running program is setuid. So, guess that we've got this |
---|
1800 | # lossage to contend with if /etc/master.passwd exists, and default to |
---|
1801 | # a setuid installation. |
---|
1802 | # |
---|
1803 | ############################################################################### |
---|
1804 | |
---|
1805 | if test "$with_shadow" = yes ; then |
---|
1806 | AC_CACHE_CHECK([for FreeBSD-style shadow passwords], ac_cv_master_passwd, |
---|
1807 | [if test -f /etc/master.passwd ; then |
---|
1808 | ac_cv_master_passwd=yes |
---|
1809 | else |
---|
1810 | ac_cv_master_passwd=no |
---|
1811 | fi]) |
---|
1812 | if test "$ac_cv_master_passwd" = yes; then |
---|
1813 | need_setuid=yes |
---|
1814 | fi |
---|
1815 | fi |
---|
1816 | |
---|
1817 | |
---|
1818 | ############################################################################### |
---|
1819 | # |
---|
1820 | # Check for traditional (ha!) shadow passwords. |
---|
1821 | # |
---|
1822 | ############################################################################### |
---|
1823 | |
---|
1824 | if test "$with_shadow" = yes ; then |
---|
1825 | AC_CACHE_CHECK([for generic shadow passwords], ac_cv_shadow, |
---|
1826 | [AC_TRY_X_COMPILE([#include <stdlib.h> |
---|
1827 | #include <unistd.h> |
---|
1828 | #include <sys/types.h> |
---|
1829 | #include <pwd.h> |
---|
1830 | #include <shadow.h>], |
---|
1831 | [struct spwd *p = getspnam("nobody"); |
---|
1832 | const char *pw = p->sp_pwdp;], |
---|
1833 | [ac_cv_shadow=yes], |
---|
1834 | [ac_cv_shadow=no])]) |
---|
1835 | if test "$ac_cv_shadow" = yes; then |
---|
1836 | have_shadow=yes |
---|
1837 | need_setuid=yes |
---|
1838 | |
---|
1839 | # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc. |
---|
1840 | have_getspnam=no |
---|
1841 | AC_CHECK_LIB(c, getspnam, [have_getspnam=yes]) |
---|
1842 | if test "$have_getspnam" = no ; then |
---|
1843 | AC_CHECK_LIB(gen, getspnam, |
---|
1844 | [have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"]) |
---|
1845 | fi |
---|
1846 | fi |
---|
1847 | fi |
---|
1848 | |
---|
1849 | |
---|
1850 | ############################################################################### |
---|
1851 | # |
---|
1852 | # Check for other libraries needed for non-shadow passwords. |
---|
1853 | # |
---|
1854 | ############################################################################### |
---|
1855 | |
---|
1856 | if test "$enable_locking" = yes ; then |
---|
1857 | |
---|
1858 | # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc. |
---|
1859 | have_crypt=no |
---|
1860 | AC_CHECK_LIB(c, crypt, [have_crypt=yes]) |
---|
1861 | if test "$have_crypt" = no ; then |
---|
1862 | AC_CHECK_LIB(crypt, crypt, |
---|
1863 | [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"]) |
---|
1864 | fi |
---|
1865 | fi |
---|
1866 | |
---|
1867 | |
---|
1868 | # Most of the above shadow mechanisms will have set need_setuid to yes, |
---|
1869 | # if they were found. But, on some systems, we need setuid even when |
---|
1870 | # using plain old vanilla passwords. |
---|
1871 | # |
---|
1872 | if test "$enable_locking" = yes ; then |
---|
1873 | case "$host" in |
---|
1874 | *-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* ) |
---|
1875 | need_setuid=yes |
---|
1876 | ;; |
---|
1877 | esac |
---|
1878 | fi |
---|
1879 | |
---|
1880 | |
---|
1881 | if test "$have_shadow_adjunct" = yes ; then |
---|
1882 | AC_DEFINE(HAVE_ADJUNCT_PASSWD) |
---|
1883 | elif test "$have_shadow_enhanced" = yes ; then |
---|
1884 | AC_DEFINE(HAVE_ENHANCED_PASSWD) |
---|
1885 | elif test "$have_shadow_hpux" = yes ; then |
---|
1886 | AC_DEFINE(HAVE_HPUX_PASSWD) |
---|
1887 | elif test "$have_shadow" = yes ; then |
---|
1888 | AC_DEFINE(HAVE_SHADOW_PASSWD) |
---|
1889 | fi |
---|
1890 | |
---|
1891 | |
---|
1892 | ############################################################################### |
---|
1893 | # |
---|
1894 | # Check for -lXm. |
---|
1895 | # |
---|
1896 | ############################################################################### |
---|
1897 | |
---|
1898 | have_motif=no |
---|
1899 | with_motif_req=unspecified |
---|
1900 | AC_ARG_WITH(motif,[ |
---|
1901 | User interface options: |
---|
1902 | |
---|
1903 | --with-motif Use the Motif toolkit for the user interface |
---|
1904 | (not recommended.)], |
---|
1905 | [with_motif="$withval"; with_motif_req="$withval"],[with_motif=no]) |
---|
1906 | |
---|
1907 | HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif) |
---|
1908 | |
---|
1909 | if test "$with_motif" != yes -a "$with_motif" != no ; then |
---|
1910 | echo "error: must be yes or no: --with-motif=$with_motif" |
---|
1911 | exit 1 |
---|
1912 | fi |
---|
1913 | |
---|
1914 | if test "$with_motif" = yes; then |
---|
1915 | have_motif=no |
---|
1916 | AC_CHECK_X_HEADER(Xm/Xm.h, |
---|
1917 | [have_motif=yes |
---|
1918 | AC_DEFINE(HAVE_MOTIF) |
---|
1919 | MOTIF_LIBS="$MOTIF_LIBS -lXm"],, |
---|
1920 | [#include <stdlib.h> |
---|
1921 | #include <stdio.h> |
---|
1922 | #include <X11/Intrinsic.h>]) |
---|
1923 | fi |
---|
1924 | |
---|
1925 | |
---|
1926 | if test "$have_motif" = yes; then |
---|
1927 | AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)],, |
---|
1928 | [#include <stdlib.h> |
---|
1929 | #include <stdio.h> |
---|
1930 | #include <X11/Intrinsic.h>]) |
---|
1931 | fi |
---|
1932 | |
---|
1933 | |
---|
1934 | ############################################################################### |
---|
1935 | # |
---|
1936 | # Check for -lgtk (and Gnome stuff) |
---|
1937 | # |
---|
1938 | ############################################################################### |
---|
1939 | |
---|
1940 | have_gtk=no |
---|
1941 | have_gtk2=no |
---|
1942 | with_gtk_req=unspecified |
---|
1943 | AC_ARG_WITH(gtk, |
---|
1944 | [ --with-gtk Use the Gtk toolkit for the user interface.], |
---|
1945 | [with_gtk="$withval"; with_gtk_req="$withval"],[with_gtk=yes]) |
---|
1946 | |
---|
1947 | # if --with-gtk=/directory/ was specified, remember that directory so that |
---|
1948 | # we can also look for the `gtk-config' program in that directory. |
---|
1949 | case "$with_gtk" in |
---|
1950 | /*) |
---|
1951 | gtk_dir="$with_gtk" |
---|
1952 | ;; |
---|
1953 | *) |
---|
1954 | gtk_dir="" |
---|
1955 | ;; |
---|
1956 | esac |
---|
1957 | |
---|
1958 | HANDLE_X_PATH_ARG(with_gtk, --with-gtk, Gtk) |
---|
1959 | |
---|
1960 | if test "$with_gtk" != yes -a "$with_gtk" != no ; then |
---|
1961 | echo "error: must be yes or no: --with-gtk=$with_gtk" |
---|
1962 | exit 1 |
---|
1963 | fi |
---|
1964 | |
---|
1965 | have_gnome=no |
---|
1966 | with_gnome_req=unspecified |
---|
1967 | AC_ARG_WITH(gnome, |
---|
1968 | [ --with-gnome Include support for the Gnome 1.x Control Center. |
---|
1969 | (This option is not needed with GTK 2.x / Gnome 2.x.) |
---|
1970 | ], |
---|
1971 | [with_gnome="$withval"; with_gnome_req="$withval"],[with_gnome=yes]) |
---|
1972 | |
---|
1973 | # if --with-gnome=/directory/ was specified, remember that directory so that |
---|
1974 | # we can also look for the `gnome-config' program in that directory. |
---|
1975 | case "$with_gnome" in |
---|
1976 | /*) |
---|
1977 | gnome_dir="$with_gnome" |
---|
1978 | ;; |
---|
1979 | *) |
---|
1980 | gnome_dir="" |
---|
1981 | ;; |
---|
1982 | esac |
---|
1983 | |
---|
1984 | HANDLE_X_PATH_ARG(with_gnome, --with-gnome, Gnome) |
---|
1985 | |
---|
1986 | if test "$with_gnome" != yes -a "$with_gnome" != no ; then |
---|
1987 | echo "error: must be yes or no: --with-gnome=$with_gnome" |
---|
1988 | exit 1 |
---|
1989 | fi |
---|
1990 | |
---|
1991 | parse_gtk_version_string() { |
---|
1992 | # M4 sucks!! |
---|
1993 | changequote(X,Y) |
---|
1994 | maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'` |
---|
1995 | min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'` |
---|
1996 | changequote([,]) |
---|
1997 | ac_gtk_version=`echo "$maj * 1000 + $min" | bc` |
---|
1998 | if test -z "$ac_gtk_version"; then |
---|
1999 | ac_gtk_version=unknown |
---|
2000 | ac_gtk_version_string=unknown |
---|
2001 | fi |
---|
2002 | } |
---|
2003 | |
---|
2004 | |
---|
2005 | jurassic_gtk=no |
---|
2006 | gtk2_halfassed=no |
---|
2007 | |
---|
2008 | if test "$with_gtk" = yes; then |
---|
2009 | have_gtk=no |
---|
2010 | |
---|
2011 | # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then |
---|
2012 | # look in /foo/bin/ for glib-config, gtk-config, and gnome-config. |
---|
2013 | # |
---|
2014 | gtk_path="$PATH" |
---|
2015 | |
---|
2016 | if test ! -z "$gtk_dir"; then |
---|
2017 | # canonicalize slashes. |
---|
2018 | foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'` |
---|
2019 | gtk_path="$foo:$gtk_path" |
---|
2020 | fi |
---|
2021 | |
---|
2022 | if test ! -z "$gnome_dir"; then |
---|
2023 | # canonicalize slashes. |
---|
2024 | foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'` |
---|
2025 | gtk_path="$foo:$gtk_path" |
---|
2026 | fi |
---|
2027 | |
---|
2028 | AC_PATH_PROGS(pkg_config, pkg-config,, $gtk_path) |
---|
2029 | |
---|
2030 | if test -n "$pkg_config" ; then |
---|
2031 | # |
---|
2032 | # the new way... |
---|
2033 | # run pkg-config based tests. |
---|
2034 | # |
---|
2035 | pkgs='' |
---|
2036 | pkg_check_version() { |
---|
2037 | if test "$ok" = yes ; then |
---|
2038 | req="$1" |
---|
2039 | min="$2" |
---|
2040 | AC_MSG_CHECKING(for $req) |
---|
2041 | if $pkg_config --exists "$req" ; then |
---|
2042 | vers=`$pkg_config --modversion "$req"` |
---|
2043 | if $pkg_config --exists "$req >= $min" ; then |
---|
2044 | AC_MSG_RESULT($vers) |
---|
2045 | pkgs="$pkgs $req" |
---|
2046 | return 1 |
---|
2047 | else |
---|
2048 | AC_MSG_RESULT($vers (wanted >= $min)) |
---|
2049 | ok=no |
---|
2050 | return 0 |
---|
2051 | fi |
---|
2052 | else |
---|
2053 | AC_MSG_RESULT(no) |
---|
2054 | ok=no |
---|
2055 | return 0 |
---|
2056 | fi |
---|
2057 | fi |
---|
2058 | } |
---|
2059 | |
---|
2060 | AC_MSG_RESULT(checking for GTK 2.x with pkg-config based tests...) |
---|
2061 | |
---|
2062 | ok="yes" |
---|
2063 | pkg_check_version gtk+-2.0 2.0.1 ; ac_gtk_version_string="$vers" |
---|
2064 | pkg_check_version gmodule-2.0 2.0.0 |
---|
2065 | pkg_check_version libxml-2.0 2.4.6 |
---|
2066 | pkg_check_version libglade-2.0 1.99.0 |
---|
2067 | # pkg_check_version gdk_pixbuf 0.1 |
---|
2068 | have_gtk="$ok" |
---|
2069 | |
---|
2070 | if test "$have_gtk" = yes; then |
---|
2071 | have_gtk2=yes |
---|
2072 | AC_DEFINE(HAVE_GTK2) |
---|
2073 | else |
---|
2074 | if test -n "$ac_gtk_version_string" ; then |
---|
2075 | gtk2_halfassed="$ac_gtk_version_string" |
---|
2076 | gtk2_halfassed_lib="$req" |
---|
2077 | fi |
---|
2078 | fi |
---|
2079 | |
---|
2080 | if test "$have_gtk" = no; then |
---|
2081 | # |
---|
2082 | # we don't have GTK 2. Let's look for GTK 1. |
---|
2083 | # |
---|
2084 | AC_MSG_RESULT(checking for GTK 1.x with pkg-config based tests...) |
---|
2085 | |
---|
2086 | pkgs='' |
---|
2087 | ok="yes" |
---|
2088 | pkg_check_version gtk+ 1.2 ; ac_gtk_version_string="$vers" |
---|
2089 | pkg_check_version glib 1.0 |
---|
2090 | pkg_check_version gdk_pixbuf 0.1 |
---|
2091 | have_gtk="$ok" |
---|
2092 | |
---|
2093 | # Now check for Gnome... |
---|
2094 | # |
---|
2095 | if test "$have_gtk" = yes -a "$with_gnome" = yes; then |
---|
2096 | old_pkgs="$pkgs" |
---|
2097 | ok=yes |
---|
2098 | pkg_check_version capplet 1.0 |
---|
2099 | pkg_check_version gnomeui 1.0 |
---|
2100 | pkg_check_version gdk_pixbuf 0.1 |
---|
2101 | have_gnome="$ok" |
---|
2102 | |
---|
2103 | if test "$have_gnome" = no; then |
---|
2104 | pkgs="$old_pkgs" |
---|
2105 | else |
---|
2106 | AC_DEFINE(HAVE_CRAPPLET) |
---|
2107 | fi |
---|
2108 | fi |
---|
2109 | fi |
---|
2110 | |
---|
2111 | if test "$have_gtk" = yes; then |
---|
2112 | parse_gtk_version_string |
---|
2113 | jurassic_gtk=no |
---|
2114 | else |
---|
2115 | have_gnome=no |
---|
2116 | fi |
---|
2117 | |
---|
2118 | if test "$have_gtk" = yes; then |
---|
2119 | AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags, |
---|
2120 | [ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`]) |
---|
2121 | AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs, |
---|
2122 | [ac_cv_gtk_config_libs=`$pkg_config --libs $pkgs`]) |
---|
2123 | fi |
---|
2124 | ac_gtk_config_cflags=$ac_cv_gtk_config_cflags |
---|
2125 | ac_gtk_config_libs=$ac_cv_gtk_config_libs |
---|
2126 | |
---|
2127 | ac_gnome_config_cflags=$ac_gtk_config_cflags |
---|
2128 | ac_gnome_config_libs=$ac_gtk_config_libs |
---|
2129 | |
---|
2130 | else |
---|
2131 | # |
---|
2132 | # the old way... |
---|
2133 | # run {gnome,gtk}-config based tests. |
---|
2134 | # |
---|
2135 | AC_MSG_RESULT(checking for GTK 1.x with gtk-config based tests...) |
---|
2136 | |
---|
2137 | AC_PATH_PROGS(glib_config, glib12-config glib-config,, $gtk_path) |
---|
2138 | AC_PATH_PROGS(gtk_config, gtk12-config gtk-config,, $gtk_path) |
---|
2139 | |
---|
2140 | if test "$with_gnome" = yes; then |
---|
2141 | AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path) |
---|
2142 | fi |
---|
2143 | |
---|
2144 | if test -n "$glib_config" -a -n "$gtk_config" ; then |
---|
2145 | have_gtk=yes |
---|
2146 | if test "$with_gnome" = yes -a -n "$gnome_config" ; then |
---|
2147 | have_gnome=yes |
---|
2148 | fi |
---|
2149 | fi |
---|
2150 | |
---|
2151 | if test "$have_gtk" = yes; then |
---|
2152 | AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string, |
---|
2153 | [ac_cv_gtk_version_string=`$gtk_config --version`]) |
---|
2154 | ac_gtk_version_string=$ac_cv_gtk_version_string |
---|
2155 | parse_gtk_version_string |
---|
2156 | fi |
---|
2157 | |
---|
2158 | if test "$have_gtk" = yes; then |
---|
2159 | if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002 |
---|
2160 | then |
---|
2161 | have_gtk=no |
---|
2162 | have_gnome=no |
---|
2163 | jurassic_gtk=yes |
---|
2164 | fi |
---|
2165 | fi |
---|
2166 | |
---|
2167 | if test "$have_gtk" = yes; then |
---|
2168 | AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags, |
---|
2169 | [ac_cv_gtk_config_cflags=`$gtk_config --cflags`]) |
---|
2170 | AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs, |
---|
2171 | [ac_cv_gtk_config_libs=`$gtk_config --libs`]) |
---|
2172 | fi |
---|
2173 | ac_gtk_config_cflags=$ac_cv_gtk_config_cflags |
---|
2174 | ac_gtk_config_libs=$ac_cv_gtk_config_libs |
---|
2175 | |
---|
2176 | # Check for Gnome Capplet support. |
---|
2177 | # Note that this is only needed with Gnome 1.x, not Gnome 2.x. |
---|
2178 | # In a Gnome 2.x world, libcapplet will not exist. |
---|
2179 | # (In fact, this likely won't even be checked, since in a Gnome 2.x |
---|
2180 | # world, we will probably be up in the "$pkg_config" branch instead |
---|
2181 | # of here in the "$gnome_config" branch.) |
---|
2182 | # |
---|
2183 | if test "$have_gnome" = yes -a "$have_gtk" = yes; then |
---|
2184 | gnome_config_libs="gtk capplet gnomeui gdk_pixbuf" |
---|
2185 | AC_MSG_CHECKING(for Gnome capplet includes) |
---|
2186 | AC_CACHE_VAL(ac_cv_gnome_config_cflags, |
---|
2187 | [if ( $gnome_config --cflags $gnome_config_libs 2>&1 | \ |
---|
2188 | grep Unknown >/dev/null ) ; then |
---|
2189 | ac_cv_gnome_config_cflags='' |
---|
2190 | else |
---|
2191 | ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs` |
---|
2192 | fi]) |
---|
2193 | ac_gnome_config_cflags=$ac_cv_gnome_config_cflags |
---|
2194 | if test "$ac_gnome_config_cflags" = "" ; then |
---|
2195 | have_gnome=no |
---|
2196 | AC_MSG_RESULT(no) |
---|
2197 | else |
---|
2198 | AC_MSG_RESULT($ac_gnome_config_cflags) |
---|
2199 | fi |
---|
2200 | fi |
---|
2201 | |
---|
2202 | if test "$have_gnome" = yes -a "$have_gtk" = yes; then |
---|
2203 | AC_MSG_CHECKING(for Gnome capplet libs) |
---|
2204 | AC_CACHE_VAL(ac_cv_gnome_config_libs, |
---|
2205 | [if ( $gnome_config --libs $gnome_config_libs 2>&1 | |
---|
2206 | grep Unknown >/dev/null ) ; then |
---|
2207 | ac_cv_gnome_config_libs='' |
---|
2208 | else |
---|
2209 | ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs` |
---|
2210 | fi]) |
---|
2211 | ac_gnome_config_libs=$ac_cv_gnome_config_libs |
---|
2212 | if test "$ac_gnome_config_libs" = "" ; then |
---|
2213 | have_gnome=no |
---|
2214 | AC_MSG_RESULT(no) |
---|
2215 | else |
---|
2216 | AC_MSG_RESULT($ac_gnome_config_libs) |
---|
2217 | fi |
---|
2218 | fi |
---|
2219 | |
---|
2220 | # If we have Gnome, then override the gtk-config values with |
---|
2221 | # the gnome-config values. |
---|
2222 | # |
---|
2223 | if test "$have_gnome" = yes -a "$have_gtk" = yes; then |
---|
2224 | ac_gtk_config_cflags=$ac_gnome_config_cflags |
---|
2225 | ac_gtk_config_libs=$ac_gnome_config_libs |
---|
2226 | AC_DEFINE(HAVE_CRAPPLET) |
---|
2227 | fi |
---|
2228 | |
---|
2229 | fi # end of {gnome,gtk}-config based tests |
---|
2230 | |
---|
2231 | if test "$have_gtk" = yes -a "$have_gtk2" = no; then |
---|
2232 | # check for this function that was not in libcapplet 1.2. |
---|
2233 | # (only needed in Gnome/Gtk 1.x, not Gnome/Gtk 2.x) |
---|
2234 | AC_CHECK_X_LIB(capplet, capplet_widget_changes_are_immediate, |
---|
2235 | [AC_DEFINE(HAVE_CRAPPLET_IMMEDIATE)], [true], |
---|
2236 | $ac_gnome_config_libs) |
---|
2237 | fi |
---|
2238 | |
---|
2239 | |
---|
2240 | GNOME_DATADIR="" |
---|
2241 | if test "$have_gtk" = yes; then |
---|
2242 | if test -n "$pkg_config"; then |
---|
2243 | if test "$have_gtk2" = yes; then |
---|
2244 | GNOME_DATADIR=`$pkg_config --variable=prefix gtk+-2.0` |
---|
2245 | else |
---|
2246 | GNOME_DATADIR=`$pkg_config --variable=prefix gtk+` |
---|
2247 | fi |
---|
2248 | else |
---|
2249 | GNOME_DATADIR=`$gtk_config --prefix` |
---|
2250 | fi |
---|
2251 | GNOME_DATADIR="$GNOME_DATADIR/share" |
---|
2252 | fi |
---|
2253 | |
---|
2254 | # .desktop files go in different places in Gnome 1.x and Gnome 2.x... |
---|
2255 | if test "$have_gtk2" = yes; then |
---|
2256 | GNOME_PANELDIR='$(GNOME_PANELDIR2)' |
---|
2257 | else |
---|
2258 | GNOME_PANELDIR='$(GNOME_PANELDIR1)' |
---|
2259 | fi |
---|
2260 | |
---|
2261 | |
---|
2262 | if test "$have_gtk" = yes; then |
---|
2263 | INCLUDES="$INCLUDES $ac_gtk_config_cflags" |
---|
2264 | GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs" |
---|
2265 | AC_DEFINE(HAVE_GTK) |
---|
2266 | |
---|
2267 | if test "$have_gtk2" = yes; then |
---|
2268 | GTK_EXTRA_OBJS="" |
---|
2269 | else |
---|
2270 | GTK_EXTRA_OBJS="\$(GTK_EXTRA_OBJS)" |
---|
2271 | fi |
---|
2272 | fi |
---|
2273 | |
---|
2274 | fi |
---|
2275 | |
---|
2276 | |
---|
2277 | # Check for the Gnome Help Browser. |
---|
2278 | # |
---|
2279 | if test "$have_gtk" = yes; then |
---|
2280 | AC_CHECK_PROGS(have_gnome_help, yelp gnome-help-browser, no) |
---|
2281 | if test "$have_gnome_help" != no; then |
---|
2282 | have_gnome_help=yes |
---|
2283 | fi |
---|
2284 | fi |
---|
2285 | |
---|
2286 | |
---|
2287 | ############################################################################### |
---|
2288 | # |
---|
2289 | # Check for -lxml |
---|
2290 | # |
---|
2291 | ############################################################################### |
---|
2292 | |
---|
2293 | have_xml=no |
---|
2294 | with_xml_req=unspecified |
---|
2295 | xml_halfassed=no |
---|
2296 | AC_ARG_WITH(xml, |
---|
2297 | [ --with-xml The XML toolkit is needed for some parts of |
---|
2298 | the Gtk interface. Without it, the configuration |
---|
2299 | interface will be much less featureful.], |
---|
2300 | [with_xml="$withval"; with_xml_req="$withval"],[with_xml=yes]) |
---|
2301 | |
---|
2302 | # if --with-xml=/directory/ was specified, remember that directory so that |
---|
2303 | # we can also look for the `xml-config' program in that directory. |
---|
2304 | case "$with_xml" in |
---|
2305 | /*) |
---|
2306 | xml_dir="$with_xml" |
---|
2307 | ;; |
---|
2308 | *) |
---|
2309 | xml_dir="" |
---|
2310 | ;; |
---|
2311 | esac |
---|
2312 | |
---|
2313 | HANDLE_X_PATH_ARG(with_xml, --with-xml, XML) |
---|
2314 | |
---|
2315 | if test "$with_xml" != yes -a "$with_xml" != no ; then |
---|
2316 | echo "error: must be yes or no: --with-xml=$with_xml" |
---|
2317 | exit 1 |
---|
2318 | fi |
---|
2319 | |
---|
2320 | if test "$with_xml" = yes; then |
---|
2321 | have_xml=no |
---|
2322 | have_old_xml=no |
---|
2323 | |
---|
2324 | # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then |
---|
2325 | # look in /foo/bin/ for for xml-config. |
---|
2326 | # |
---|
2327 | xml_path="$PATH" |
---|
2328 | |
---|
2329 | if test ! -z "$gtk_dir"; then |
---|
2330 | # canonicalize slashes. |
---|
2331 | foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'` |
---|
2332 | xml_path="$foo:$xml_path" |
---|
2333 | fi |
---|
2334 | |
---|
2335 | if test ! -z "$gnome_dir"; then |
---|
2336 | # canonicalize slashes. |
---|
2337 | foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'` |
---|
2338 | xml_path="$foo:$xml_path" |
---|
2339 | fi |
---|
2340 | |
---|
2341 | if test -n "$pkg_config" ; then |
---|
2342 | # |
---|
2343 | # the new way... |
---|
2344 | # run pkg-config based tests. |
---|
2345 | # |
---|
2346 | pkgs="" |
---|
2347 | ok="yes" |
---|
2348 | |
---|
2349 | # If we have Gtk 2.x, then *only* XML 2.x will work. |
---|
2350 | # If we have Gtk 1.x, or don't have Gtk at all, then |
---|
2351 | # either XML 1.x or 2.x will work. |
---|
2352 | |
---|
2353 | # First check for XML 2.x. |
---|
2354 | # |
---|
2355 | pkg_check_version libxml-2.0 2.4.6 |
---|
2356 | |
---|
2357 | # If that didn't work (we don't have XML 2.x) and we *don't* have |
---|
2358 | # Gtk 2.x, then check to see if we have XML 1.x |
---|
2359 | # |
---|
2360 | if test "$ok" = no -a "$have_gtk2" = no; then |
---|
2361 | ok=yes |
---|
2362 | pkg_check_version libxml 1.0 |
---|
2363 | fi |
---|
2364 | |
---|
2365 | have_xml="$ok" |
---|
2366 | |
---|
2367 | if test "$have_xml" = yes; then |
---|
2368 | AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags, |
---|
2369 | [ac_cv_xml_config_cflags=`$pkg_config --cflags $pkgs`]) |
---|
2370 | AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs, |
---|
2371 | [ac_cv_xml_config_libs=`$pkg_config --libs $pkgs`]) |
---|
2372 | ac_xml_config_cflags=$ac_cv_xml_config_cflags |
---|
2373 | ac_xml_config_libs=$ac_cv_xml_config_libs |
---|
2374 | fi |
---|
2375 | |
---|
2376 | else |
---|
2377 | # |
---|
2378 | # the old way... |
---|
2379 | # run {xml2,xml}-config based tests. |
---|
2380 | # |
---|
2381 | |
---|
2382 | AC_PATH_PROGS(xml_config, xml2-config xml-config,, $xml_path) |
---|
2383 | |
---|
2384 | # If we found the xml-config program, run it to get flags. |
---|
2385 | # |
---|
2386 | if test -n "$xml_config" ; then |
---|
2387 | AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags, |
---|
2388 | [ac_cv_xml_config_cflags=`$xml_config --cflags`]) |
---|
2389 | AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs, |
---|
2390 | [ac_cv_xml_config_libs=`$xml_config --libs`]) |
---|
2391 | ac_xml_config_cflags=$ac_cv_xml_config_cflags |
---|
2392 | ac_xml_config_libs=$ac_cv_xml_config_libs |
---|
2393 | fi |
---|
2394 | |
---|
2395 | ac_save_xml_CPPFLAGS="$CPPFLAGS" |
---|
2396 | CPPFLAGS="$CPPFLAGS $ac_xml_config_cflags" |
---|
2397 | |
---|
2398 | # first try <libxml/parser.h> which is the new way... |
---|
2399 | # |
---|
2400 | AC_CHECK_X_HEADER(libxml/xmlIO.h, [have_xml=yes],, |
---|
2401 | [#include <libxml/parser.h>]) |
---|
2402 | |
---|
2403 | # if that didn't work, then try just <parser.h> which is the old way... |
---|
2404 | # |
---|
2405 | if test "$have_xml" = no; then |
---|
2406 | AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes; have_old_xml=yes],, |
---|
2407 | [#include <parser.h>]) |
---|
2408 | fi |
---|
2409 | |
---|
2410 | CPPFLAGS="$ac_save_xml_CPPFLAGS" |
---|
2411 | fi |
---|
2412 | |
---|
2413 | |
---|
2414 | have_zlib=no |
---|
2415 | if test "$have_xml" = yes; then |
---|
2416 | # we have the XML headers; now make sure zlib is around. |
---|
2417 | # yes, it's stupid we have to do this too, but there is |
---|
2418 | # dependency screwage in Gnome. |
---|
2419 | AC_CHECK_X_LIB(z, zlibVersion, [have_zlib=yes]) |
---|
2420 | if test "$have_zlib" = no; then |
---|
2421 | xml_halfassed=yes |
---|
2422 | have_xml=no |
---|
2423 | fi |
---|
2424 | fi |
---|
2425 | |
---|
2426 | if test "$have_xml" = yes; then |
---|
2427 | # we have the header, now check for the library |
---|
2428 | have_xml=no |
---|
2429 | xml_halfassed=yes |
---|
2430 | AC_CHECK_X_LIB(c, xmlParseChunk, |
---|
2431 | [have_xml=yes |
---|
2432 | xml_halfassed=no |
---|
2433 | XML_LIBS="$ac_xml_config_libs" |
---|
2434 | AC_DEFINE(HAVE_XML)], |
---|
2435 | [true], |
---|
2436 | $ac_xml_config_libs) |
---|
2437 | fi |
---|
2438 | |
---|
2439 | if test "$have_xml" = yes; then |
---|
2440 | INCLUDES="$INCLUDES $ac_xml_config_cflags" |
---|
2441 | GTK_LIBS="$GTK_LIBS $ac_xml_config_libs" |
---|
2442 | AC_DEFINE(HAVE_XML) |
---|
2443 | if test "$have_old_xml" = yes; then |
---|
2444 | AC_DEFINE(HAVE_OLD_XML_HEADERS) |
---|
2445 | fi |
---|
2446 | fi |
---|
2447 | |
---|
2448 | fi |
---|
2449 | |
---|
2450 | |
---|
2451 | ############################################################################### |
---|
2452 | # |
---|
2453 | # Checking whether Motif is really Lesstif. |
---|
2454 | # |
---|
2455 | ############################################################################### |
---|
2456 | |
---|
2457 | have_lesstif=no |
---|
2458 | if test "$have_motif" = yes ; then |
---|
2459 | AC_CACHE_CHECK([whether Motif is really LessTif], |
---|
2460 | ac_cv_have_lesstif, |
---|
2461 | [AC_TRY_X_COMPILE([#include <Xm/Xm.h>], |
---|
2462 | [long vers = LesstifVersion;], |
---|
2463 | [ac_cv_have_lesstif=yes], |
---|
2464 | [ac_cv_have_lesstif=no])]) |
---|
2465 | have_lesstif=$ac_cv_have_lesstif |
---|
2466 | fi |
---|
2467 | |
---|
2468 | |
---|
2469 | lesstif_version=unknown |
---|
2470 | lesstif_version_string=unknown |
---|
2471 | |
---|
2472 | if test "$have_lesstif" = yes ; then |
---|
2473 | ltv=unknown |
---|
2474 | echo unknown > conftest-lt |
---|
2475 | AC_CACHE_CHECK([LessTif version number], |
---|
2476 | ac_cv_lesstif_version_string, |
---|
2477 | [AC_TRY_X_RUN([#include <stdio.h> |
---|
2478 | #include <Xm/Xm.h> |
---|
2479 | int main() { |
---|
2480 | FILE *f = fopen("conftest-lt", "w"); |
---|
2481 | if (!f) exit(1); |
---|
2482 | fprintf(f, "%d %d.%d\n", LesstifVersion, |
---|
2483 | LESSTIF_VERSION, LESSTIF_REVISION); |
---|
2484 | fclose(f); |
---|
2485 | exit(0); |
---|
2486 | }], |
---|
2487 | [ltv=`cat conftest-lt` |
---|
2488 | ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'` |
---|
2489 | ac_cv_lesstif_version_string=`echo $ltv | sed 's/.* //'`], |
---|
2490 | [ac_cv_lesstif_version=unknown |
---|
2491 | ac_cv_lesstif_version_string=unknown], |
---|
2492 | [ac_cv_lesstif_version=unknown |
---|
2493 | ac_cv_lesstif_version_string=unknown])]) |
---|
2494 | rm -f conftest-lt |
---|
2495 | lesstif_version=$ac_cv_lesstif_version |
---|
2496 | lesstif_version_string=$ac_cv_lesstif_version_string |
---|
2497 | |
---|
2498 | fi |
---|
2499 | |
---|
2500 | |
---|
2501 | if test "$have_motif" = yes ; then |
---|
2502 | mtv=unknown |
---|
2503 | echo unknown > conftest-mt |
---|
2504 | AC_CACHE_CHECK([Motif version number], |
---|
2505 | ac_cv_motif_version_string, |
---|
2506 | [AC_TRY_X_RUN([#include <stdio.h> |
---|
2507 | #include <Xm/Xm.h> |
---|
2508 | int main() { |
---|
2509 | FILE *f = fopen("conftest-mt", "w"); |
---|
2510 | if (!f) exit(1); |
---|
2511 | fprintf(f, "%d %d.%d\n", XmVersion, |
---|
2512 | XmVERSION, XmREVISION); |
---|
2513 | fclose(f); |
---|
2514 | exit(0); |
---|
2515 | }], |
---|
2516 | [mtv=`cat conftest-mt` |
---|
2517 | ac_cv_motif_version=`echo $mtv | sed 's/ .*//'` |
---|
2518 | ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`], |
---|
2519 | [ac_cv_motif_version=unknown |
---|
2520 | ac_cv_motif_version_string=unknown], |
---|
2521 | [ac_cv_motif_version=unknown |
---|
2522 | ac_cv_motif_version_string=unknown])]) |
---|
2523 | rm -f conftest-mt |
---|
2524 | motif_version=$ac_cv_motif_version |
---|
2525 | motif_version_string=$ac_cv_motif_version_string |
---|
2526 | |
---|
2527 | fi |
---|
2528 | |
---|
2529 | |
---|
2530 | ############################################################################### |
---|
2531 | # |
---|
2532 | # Checking whether Motif requires -lXpm. |
---|
2533 | # |
---|
2534 | # If this is Motif 2.x, and we have XPM, then link against XPM as well. |
---|
2535 | # The deal is, Motif 2.x requires XPM -- but it's a compilation option |
---|
2536 | # of the library whether to build the XPM code into libXm, or whether |
---|
2537 | # to rely on an external libXm. So the only way to tell whether XPM is |
---|
2538 | # a link-time requirement is to examine libXm.a, which is very |
---|
2539 | # difficult to do in an autoconf script. So... if it's Motif 2.x, we |
---|
2540 | # always link against XPM if the XPM lib exists (and this will be a |
---|
2541 | # no-op if libXm happens to already have the XPM code in it.) |
---|
2542 | # |
---|
2543 | ############################################################################### |
---|
2544 | |
---|
2545 | motif_requires_xpm=no |
---|
2546 | if test "$have_motif" = yes ; then |
---|
2547 | AC_MSG_CHECKING(whether Motif requires XPM) |
---|
2548 | if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000 |
---|
2549 | then |
---|
2550 | motif_requires_xpm=yes |
---|
2551 | AC_MSG_RESULT(maybe) |
---|
2552 | else |
---|
2553 | AC_MSG_RESULT(no) |
---|
2554 | fi |
---|
2555 | fi |
---|
2556 | |
---|
2557 | |
---|
2558 | ############################################################################### |
---|
2559 | # |
---|
2560 | # Checking whether Motif requires -lXp. |
---|
2561 | # |
---|
2562 | # Some versions of Motif (2.1.0, at least) require -lXp, the "X Printing |
---|
2563 | # Extension". Why this extension isn't in -lXext with all the others, |
---|
2564 | # I have no idea. |
---|
2565 | # |
---|
2566 | ############################################################################### |
---|
2567 | |
---|
2568 | have_xp_ext=no |
---|
2569 | if test "$have_motif" = yes ; then |
---|
2570 | have_xp_ext=no |
---|
2571 | AC_CHECK_X_LIB(Xp, XpQueryExtension, |
---|
2572 | [have_xp_ext=yes; MOTIF_LIBS="$MOTIF_LIBS -lXp"], |
---|
2573 | [true], -lX11 -lXext -lm) |
---|
2574 | fi |
---|
2575 | |
---|
2576 | |
---|
2577 | ############################################################################### |
---|
2578 | # |
---|
2579 | # Checking whether Motif requires -lXintl (for _Xsetlocale.) |
---|
2580 | # |
---|
2581 | ############################################################################### |
---|
2582 | |
---|
2583 | have_xintl=no |
---|
2584 | if test "$have_motif" = yes ; then |
---|
2585 | AC_CHECK_X_LIB(Xintl, _Xsetlocale, [have_xintl=yes], [have_xintl=no], |
---|
2586 | -lX11 -lXext -lm) |
---|
2587 | if test "$have_xintl" = yes; then |
---|
2588 | MOTIF_LIBS="$MOTIF_LIBS -lXintl" |
---|
2589 | fi |
---|
2590 | fi |
---|
2591 | |
---|
2592 | |
---|
2593 | ############################################################################### |
---|
2594 | # |
---|
2595 | # Check for -lGL or -lMesaGL. |
---|
2596 | # |
---|
2597 | ############################################################################### |
---|
2598 | |
---|
2599 | have_gl=no |
---|
2600 | ac_have_mesa_gl=no |
---|
2601 | with_gl_req=unspecified |
---|
2602 | gl_halfassed=no |
---|
2603 | AC_ARG_WITH(gl,[ |
---|
2604 | Graphics options: |
---|
2605 | |
---|
2606 | --with-gl Build those demos which depend on OpenGL.], |
---|
2607 | [with_gl="$withval"; with_gl_req="$withval"],[with_gl=yes]) |
---|
2608 | |
---|
2609 | HANDLE_X_PATH_ARG(with_gl, --with-gl, GL) |
---|
2610 | |
---|
2611 | ac_mesagl_version=unknown |
---|
2612 | ac_mesagl_version_string=unknown |
---|
2613 | |
---|
2614 | if test "$with_gl" = yes; then |
---|
2615 | AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no) |
---|
2616 | if test "$have_gl" = yes ; then |
---|
2617 | AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no, |
---|
2618 | [#include <GL/gl.h>]) |
---|
2619 | fi |
---|
2620 | |
---|
2621 | # If we have the headers, try and figure out which vendor it's from. |
---|
2622 | # |
---|
2623 | if test "$have_gl" = yes ; then |
---|
2624 | |
---|
2625 | # We need to know whether it's MesaGL so that we know which libraries |
---|
2626 | # to link against. |
---|
2627 | # |
---|
2628 | AC_CACHE_CHECK([whether GL is really MesaGL], ac_cv_have_mesa_gl, |
---|
2629 | [ac_cv_have_mesa_gl=no |
---|
2630 | AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes]) |
---|
2631 | ]) |
---|
2632 | ac_have_mesa_gl=$ac_cv_have_mesa_gl |
---|
2633 | |
---|
2634 | |
---|
2635 | gl_lib_1="" |
---|
2636 | GL_LIBS="" |
---|
2637 | |
---|
2638 | |
---|
2639 | # Some versions of MesaGL are compiled to require -lpthread. |
---|
2640 | # So if the Mesa headers exist, and -lpthread exists, then always |
---|
2641 | # link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.) |
---|
2642 | # |
---|
2643 | if test "$ac_have_mesa_gl" = yes; then |
---|
2644 | AC_CHECK_LIB(pthread, pthread_create, [GL_LIBS="-lpthread"], [],) |
---|
2645 | fi |
---|
2646 | |
---|
2647 | |
---|
2648 | # If we have Mesa headers, check to see if we can link against -lMesaGL. |
---|
2649 | # If we don't have Mesa headers, or we don't have -lMesaGL, try -lGL. |
---|
2650 | # Else, warn that GL is busted. (We have the headers, but no libs.) |
---|
2651 | # |
---|
2652 | |
---|
2653 | if test "$ac_have_mesa_gl" = yes ; then |
---|
2654 | AC_CHECK_X_LIB(MesaGL, glXCreateContext, |
---|
2655 | [gl_lib_1="MesaGL" |
---|
2656 | GL_LIBS="-lMesaGL -lMesaGLU $GL_LIBS"], |
---|
2657 | [], -lMesaGLU $GL_LIBS -lX11 -lXext -lm) |
---|
2658 | fi |
---|
2659 | |
---|
2660 | if test "$gl_lib_1" = "" ; then |
---|
2661 | AC_CHECK_X_LIB(GL, glXCreateContext, |
---|
2662 | [gl_lib_1="GL" |
---|
2663 | GL_LIBS="-lGL -lGLU $GL_LIBS"], |
---|
2664 | [], -lGLU $GL_LIBS -lX11 -lXext -lm) |
---|
2665 | fi |
---|
2666 | |
---|
2667 | if test "$gl_lib_1" = "" ; then |
---|
2668 | # we have headers, but no libs -- bail. |
---|
2669 | have_gl=no |
---|
2670 | ac_have_mesa_gl=no |
---|
2671 | gl_halfassed=yes |
---|
2672 | else |
---|
2673 | # linking works -- we can build the GL hacks. |
---|
2674 | AC_DEFINE(HAVE_GL) |
---|
2675 | if test "$ac_have_mesa_gl" = yes ; then |
---|
2676 | AC_DEFINE(HAVE_MESA_GL) |
---|
2677 | fi |
---|
2678 | fi |
---|
2679 | fi |
---|
2680 | |
---|
2681 | |
---|
2682 | # Now that we know we have GL headers and libs, do some more GL testing. |
---|
2683 | # |
---|
2684 | |
---|
2685 | if test "$have_gl" = yes ; then |
---|
2686 | # If it's MesaGL, we'd like to issue a warning if the version number |
---|
2687 | # is less than or equal to 2.6, because that version had a security bug. |
---|
2688 | # |
---|
2689 | if test "$ac_have_mesa_gl" = yes; then |
---|
2690 | |
---|
2691 | AC_CACHE_CHECK([MesaGL version number], ac_cv_mesagl_version_string, |
---|
2692 | [cat > conftest.$ac_ext <<EOF |
---|
2693 | #line __oline__ "configure" |
---|
2694 | #include "confdefs.h" |
---|
2695 | #include <GL/gl.h> |
---|
2696 | #ifndef MESA_MAJOR_VERSION |
---|
2697 | # include <GL/xmesa.h> |
---|
2698 | # ifdef XMESA_MAJOR_VERSION |
---|
2699 | /* Around Mesa 3.2, they took out the Mesa version number, so instead, |
---|
2700 | we have to check the XMesa version number (the number of the X protocol |
---|
2701 | support, which seems to be the same as the Mesa version number.) |
---|
2702 | */ |
---|
2703 | # define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION |
---|
2704 | # define MESA_MINOR_VERSION XMESA_MINOR_VERSION |
---|
2705 | # else |
---|
2706 | /* Oh great. Some time after 3.4, they took out the xmesa.h header file, |
---|
2707 | so we have no way of telling what version of Mesa this is at all. |
---|
2708 | So, we'll guess that the osmesa version (the "offscreen protocol") |
---|
2709 | is less than or equal to the real mesa version number. Except that |
---|
2710 | if OSmesa is 3.3, assume at least Mesa 3.4, since OSmesa was 3.3 in |
---|
2711 | Mesa 3.4. And Mesa 3.3 had xmesa.h. What a complete load of shit! |
---|
2712 | */ |
---|
2713 | # include <GL/osmesa.h> |
---|
2714 | # define MESA_MAJOR_VERSION OSMESA_MAJOR_VERSION |
---|
2715 | # define MESA_MINOR_VERSION OSMESA_MINOR_VERSION or newer, probably? |
---|
2716 | # if OSMESA_MAJOR_VERSION == 3 && OSMESA_MINOR_VERSION == 3 |
---|
2717 | # undef MESA_MINOR_VERSION |
---|
2718 | # define MESA_MINOR_VERSION 4 or newer, probably? |
---|
2719 | # endif |
---|
2720 | # endif |
---|
2721 | #endif |
---|
2722 | configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION |
---|
2723 | EOF |
---|
2724 | |
---|
2725 | ac_save_CPPFLAGS="$CPPFLAGS" |
---|
2726 | if test \! -z "$includedir" ; then |
---|
2727 | CPPFLAGS="$CPPFLAGS -I$includedir" |
---|
2728 | fi |
---|
2729 | CPPFLAGS="$CPPFLAGS $X_CFLAGS" |
---|
2730 | |
---|
2731 | mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | grep configure:` |
---|
2732 | |
---|
2733 | # M4 sucks!! |
---|
2734 | changequote(X,Y) |
---|
2735 | mglv=`echo "$mglv" | sed -n \ |
---|
2736 | 's/^configure: *\([0-9][0-9]*\) *\([0-9].*\)$/\1.\2/p'` |
---|
2737 | changequote([,]) |
---|
2738 | |
---|
2739 | rm -f conftest.$ac_ext |
---|
2740 | |
---|
2741 | CPPFLAGS="$ac_save_CPPFLAGS" |
---|
2742 | |
---|
2743 | if test "$mglv" = ""; then |
---|
2744 | ac_mesagl_version=unknown |
---|
2745 | ac_mesagl_version_string=unknown |
---|
2746 | else |
---|
2747 | ac_mesagl_version_string="$mglv" |
---|
2748 | # M4 sucks!! |
---|
2749 | changequote(X,Y) |
---|
2750 | maj=`echo "$mglv" | sed -n 's/^\([0-9][0-9]*\)\..*$/\1/p'` |
---|
2751 | min=`echo "$mglv" | sed -n 's/^.*\.\([0-9][0-9]*\).*$/\1/p'` |
---|
2752 | changequote([,]) |
---|
2753 | ac_mesagl_version=`echo "$maj * 1000 + $min" | bc` |
---|
2754 | if test -z "$ac_mesagl_version"; then |
---|
2755 | ac_mesagl_version=unknown |
---|
2756 | ac_mesagl_version_string=unknown |
---|
2757 | fi |
---|
2758 | fi |
---|
2759 | ac_cv_mesagl_version=$ac_mesagl_version |
---|
2760 | ac_cv_mesagl_version_string=$ac_mesagl_version_string |
---|
2761 | ]) |
---|
2762 | ac_mesagl_version=$ac_cv_mesagl_version |
---|
2763 | ac_mesagl_version_string=$ac_cv_mesagl_version_string |
---|
2764 | fi |
---|
2765 | |
---|
2766 | |
---|
2767 | # Check for OpenGL 1.1 features. |
---|
2768 | # |
---|
2769 | AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)], |
---|
2770 | [true], $GL_LIBS -lX11 -lXext -lm) |
---|
2771 | fi |
---|
2772 | |
---|
2773 | elif test "$with_gl" != no; then |
---|
2774 | echo "error: must be yes or no: --with-gl=$with_gl" |
---|
2775 | exit 1 |
---|
2776 | fi |
---|
2777 | |
---|
2778 | |
---|
2779 | ############################################################################### |
---|
2780 | # |
---|
2781 | # Check for -lgle. |
---|
2782 | # |
---|
2783 | ############################################################################### |
---|
2784 | |
---|
2785 | have_gle=no |
---|
2786 | with_gle_req=unspecified |
---|
2787 | gle_halfassed=no |
---|
2788 | AC_ARG_WITH(gle, |
---|
2789 | [ --with-gle Build those demos which depend on GLE |
---|
2790 | (the OpenGL "extrusion" library.)], |
---|
2791 | [with_gle="$withval"; with_gle_req="$withval"],[with_gle=yes]) |
---|
2792 | |
---|
2793 | HANDLE_X_PATH_ARG(with_gle, --with-gle, GLE) |
---|
2794 | |
---|
2795 | GLE_LIBS="" |
---|
2796 | |
---|
2797 | if test "$have_gl" = no ; then |
---|
2798 | true |
---|
2799 | elif test "$with_gle" = yes; then |
---|
2800 | |
---|
2801 | AC_CHECK_X_HEADER(GL/gle.h, have_gle3=yes, have_gle3=no, |
---|
2802 | [#include <GL/gl.h>]) |
---|
2803 | if test "$have_gle3" = yes ; then |
---|
2804 | have_gle=yes; |
---|
2805 | else |
---|
2806 | AC_CHECK_X_HEADER(GL/gutil.h, have_gle=yes, have_gle=no, |
---|
2807 | [#include <GL/gl.h>]) |
---|
2808 | if test "$have_gle" = yes ; then |
---|
2809 | AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no, |
---|
2810 | [#include <GL/gl.h>]) |
---|
2811 | fi |
---|
2812 | fi |
---|
2813 | |
---|
2814 | if test "$have_gle" = yes ; then |
---|
2815 | have_gle=no |
---|
2816 | gle_halfassed=yes |
---|
2817 | AC_CHECK_X_LIB(gle, gleCreateGC, |
---|
2818 | [have_gle=yes; gle_halfassed=no; GLE_LIBS="-lgle"], |
---|
2819 | [], $GL_LIBS -lX11 -lXext -lm) |
---|
2820 | fi |
---|
2821 | if test "$have_gle" = yes ; then |
---|
2822 | have_gle=no |
---|
2823 | gle_halfassed=yes |
---|
2824 | |
---|
2825 | # sometimes the libmatrix stuff is included in libgle. look there first. |
---|
2826 | # |
---|
2827 | # I don't get it. For some reason, this test passes on SGI, as if |
---|
2828 | # uview_direction_d() was in libgle -- but it's not, it's in libmatrix. |
---|
2829 | # Yet the link is succeeding. Why??? |
---|
2830 | # |
---|
2831 | # AC_CHECK_X_LIB(gle, uview_direction_d, |
---|
2832 | # [have_gle=yes; gle_halfassed=no], |
---|
2833 | # [], $GL_LIBS -lX11 -lXext -lm) |
---|
2834 | |
---|
2835 | # As of GLE 3 this is in libgle, and has changed name to uview_direction! |
---|
2836 | # *sigh* |
---|
2837 | if test "$have_gle3" = yes ; then |
---|
2838 | AC_CHECK_X_LIB(gle, uview_direction, |
---|
2839 | [have_gle=yes; gle_halfassed=no], |
---|
2840 | [], $GL_LIBS -lX11 -lXext -lm) |
---|
2841 | fi |
---|
2842 | # if it wasn't in libgle, then look in libmatrix. |
---|
2843 | if test "$have_gle" = no ; then |
---|
2844 | AC_CHECK_X_LIB(matrix, uview_direction_d, |
---|
2845 | [have_gle=yes; gle_halfassed=no; |
---|
2846 | GLE_LIBS="$GLE_LIBS -lmatrix"], |
---|
2847 | [], $GL_LIBS -lX11 -lXext -lm) |
---|
2848 | fi |
---|
2849 | fi |
---|
2850 | |
---|
2851 | if test "$have_gle" = yes ; then |
---|
2852 | AC_DEFINE(HAVE_GLE) |
---|
2853 | if test "$have_gle3" = yes ; then |
---|
2854 | AC_DEFINE(HAVE_GLE3) |
---|
2855 | fi |
---|
2856 | fi |
---|
2857 | |
---|
2858 | elif test "$with_gle" != no; then |
---|
2859 | echo "error: must be yes or no: --with-gle=$with_gle" |
---|
2860 | exit 1 |
---|
2861 | |
---|
2862 | fi |
---|
2863 | |
---|
2864 | |
---|
2865 | |
---|
2866 | ############################################################################### |
---|
2867 | # |
---|
2868 | # Check for -lXpm. |
---|
2869 | # |
---|
2870 | ############################################################################### |
---|
2871 | |
---|
2872 | have_xpm=no |
---|
2873 | with_xpm_req=unspecified |
---|
2874 | AC_ARG_WITH(xpm, |
---|
2875 | [ --with-xpm Include support for XPM files in some demos. |
---|
2876 | (Not needed if Pixbuf is used.)], |
---|
2877 | [with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes]) |
---|
2878 | |
---|
2879 | HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM) |
---|
2880 | |
---|
2881 | if test "$with_xpm" = yes; then |
---|
2882 | AC_CHECK_X_HEADER(X11/xpm.h, |
---|
2883 | [have_xpm=yes |
---|
2884 | AC_DEFINE(HAVE_XPM) |
---|
2885 | XPM_LIBS="-lXpm"],, |
---|
2886 | [#include <X11/Xlib.h>]) |
---|
2887 | elif test "$with_xpm" != no; then |
---|
2888 | echo "error: must be yes or no: --with-xpm=$with_xpm" |
---|
2889 | exit 1 |
---|
2890 | fi |
---|
2891 | |
---|
2892 | # See comment near $motif_requires_xpm, above. |
---|
2893 | # Need to do this here, after both Motif and XPM have been checked for. |
---|
2894 | # |
---|
2895 | if test "$have_motif" = yes -a "$have_xpm" = yes ; then |
---|
2896 | if test "$motif_requires_xpm" = yes ; then |
---|
2897 | MOTIF_LIBS="$MOTIF_LIBS $XPM_LIBS" |
---|
2898 | fi |
---|
2899 | fi |
---|
2900 | |
---|
2901 | ############################################################################### |
---|
2902 | # |
---|
2903 | # Check for -lgdk_pixbuf. |
---|
2904 | # |
---|
2905 | ############################################################################### |
---|
2906 | |
---|
2907 | have_gdk_pixbuf=no |
---|
2908 | with_gdk_pixbuf_req=unspecified |
---|
2909 | AC_ARG_WITH(pixbuf, |
---|
2910 | [ --with-pixbuf Include support for the GDK-Pixbuf library in some |
---|
2911 | demos, which will make it possible for them to read |
---|
2912 | GIF, JPEG, and PNG files as well. (The path here is |
---|
2913 | ignored if GTK 2.x is being used.)], |
---|
2914 | [with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"], |
---|
2915 | [with_gdk_pixbuf=yes]) |
---|
2916 | |
---|
2917 | # if --with-pixbuf=/directory/ was specified, remember that directory so that |
---|
2918 | # we can also look for the `gdk-pixbuf-config' program in that directory. |
---|
2919 | case "$with_gdk_pixbuf" in |
---|
2920 | /*) |
---|
2921 | gdk_pixbuf_dir="$with_gdk_pixbuf" |
---|
2922 | ;; |
---|
2923 | *) |
---|
2924 | gdk_pixbuf_dir="" |
---|
2925 | ;; |
---|
2926 | esac |
---|
2927 | |
---|
2928 | HANDLE_X_PATH_ARG(with_gdk_pixbuf, --with-pixbuf, GDK_PIXBUF) |
---|
2929 | |
---|
2930 | if test "$with_gdk_pixbuf" != yes -a "$with_gdk_pixbuf" != no ; then |
---|
2931 | echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf" |
---|
2932 | exit 1 |
---|
2933 | fi |
---|
2934 | |
---|
2935 | if test "$with_gdk_pixbuf" = yes; then |
---|
2936 | have_gdk_pixbuf=no |
---|
2937 | have_gdk_pixbuf2=no |
---|
2938 | |
---|
2939 | if test -n "$pkg_config" ; then |
---|
2940 | # |
---|
2941 | # the new way... |
---|
2942 | # run pkg-config based tests. |
---|
2943 | # |
---|
2944 | pkgs='' |
---|
2945 | ok="yes" |
---|
2946 | |
---|
2947 | # If we have Gtk 2.x, then *only* gdk-pixbuf 2.x will work. |
---|
2948 | # If we have Gtk 1.x, then *only* gdk-pixbuf 1.x will work. |
---|
2949 | # If we don't have Gtk at all, then either will work. |
---|
2950 | |
---|
2951 | if test "$have_gtk" = no -o "$have_gtk2" = yes; then |
---|
2952 | # |
---|
2953 | # we don't have Gtk; or we have Gtk 2.x. Check for pixbuf 2.x. |
---|
2954 | # |
---|
2955 | AC_MSG_RESULT(checking for gdk_pixbuf 2.x with gtk-config based tests...) |
---|
2956 | pkg_check_version gdk-pixbuf-2.0 2.0.0 |
---|
2957 | pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0 |
---|
2958 | have_gdk_pixbuf="$ok" |
---|
2959 | have_gdk_pixbuf2="$ok" |
---|
2960 | fi |
---|
2961 | |
---|
2962 | if test "$have_gtk" = no -o "$have_gtk2" = no; then |
---|
2963 | # |
---|
2964 | # we don't have Gtk; or we have Gtk 1.x. |
---|
2965 | # If we don't have pixbuf 2.x, then check for pixbuf 1.x. |
---|
2966 | # |
---|
2967 | if test "$have_gdk_pixbuf2" = no; then |
---|
2968 | pkgs='' |
---|
2969 | ok="yes" |
---|
2970 | AC_MSG_RESULT(checking for gdk_pixbuf 1.x with gtk-config based tests...) |
---|
2971 | pkg_check_version gdk_pixbuf 0.0 |
---|
2972 | pkg_check_version gdk_pixbuf_xlib 0.0 |
---|
2973 | have_gdk_pixbuf="$ok" |
---|
2974 | fi |
---|
2975 | fi |
---|
2976 | |
---|
2977 | if test "$have_gdk_pixbuf" = yes; then |
---|
2978 | AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags, |
---|
2979 | [ac_cv_gdk_pixbuf_config_cflags=`$pkg_config --cflags $pkgs`]) |
---|
2980 | AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs, |
---|
2981 | [ac_cv_gdk_pixbuf_config_libs=`$pkg_config --libs $pkgs`]) |
---|
2982 | fi |
---|
2983 | ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags |
---|
2984 | ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs |
---|
2985 | fi |
---|
2986 | |
---|
2987 | |
---|
2988 | if test "$have_gdk_pixbuf" = no; then |
---|
2989 | # |
---|
2990 | # the old way... |
---|
2991 | # run gdk-pixbuf-config based tests. |
---|
2992 | # note that we can't assume that the existence of "pkg-config" means |
---|
2993 | # that we don't have to look for gdk-pixbuf-config -- in Gnome 1.4, |
---|
2994 | # pkg-config exists, but doesn't know about pixbuf. |
---|
2995 | # |
---|
2996 | |
---|
2997 | AC_MSG_RESULT(checking for gdk_pixbuf with gdk-pixbuf-config based tests...) |
---|
2998 | |
---|
2999 | # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then |
---|
3000 | # look in /foo/bin/ for for gdk-pixbuf-config. |
---|
3001 | # |
---|
3002 | gdk_pixbuf_path="$PATH" |
---|
3003 | |
---|
3004 | if test ! -z "$gtk_dir"; then |
---|
3005 | # canonicalize slashes. |
---|
3006 | foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'` |
---|
3007 | gdk_pixbuf_path="$foo:$gdk_pixbuf_path" |
---|
3008 | fi |
---|
3009 | |
---|
3010 | if test ! -z "$gnome_dir"; then |
---|
3011 | # canonicalize slashes. |
---|
3012 | foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'` |
---|
3013 | gdk_pixbuf_path="$foo:$gdk_pixbuf_path" |
---|
3014 | fi |
---|
3015 | |
---|
3016 | AC_PATH_PROGS(gdk_pixbuf_config, gdk-pixbuf-config,, $gdk_pixbuf_path) |
---|
3017 | |
---|
3018 | # If we found the gdk-pixbuf-config program, run it to get flags. |
---|
3019 | # |
---|
3020 | if test -n "$gdk_pixbuf_config" ; then |
---|
3021 | AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags, |
---|
3022 | [ac_cv_gdk_pixbuf_config_cflags=`$gdk_pixbuf_config --cflags`]) |
---|
3023 | AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs, |
---|
3024 | [ac_cv_gdk_pixbuf_config_libs=`$gdk_pixbuf_config --libs`]) |
---|
3025 | |
---|
3026 | # note that "gdk-pixbuf-config --libs" produces a link line including |
---|
3027 | # -lgdk_pixbuf, but there's no way to get it to produce one that also |
---|
3028 | # includes -lgdk_pixbuf_xlib. Since we don't know *exactly* what the |
---|
3029 | # name of the library will be, construct it with sed... |
---|
3030 | # M4 sucks!! |
---|
3031 | changequote(X,Y) |
---|
3032 | ac_cv_gdk_pixbuf_config_libs=`echo $ac_cv_gdk_pixbuf_config_libs | \ |
---|
3033 | sed 's@ \(-lgdk_pixbuf\([-_a-zA-Z0-9.]*\)\) @ \1 -lgdk_pixbuf_xlib\2 @'` |
---|
3034 | changequote([,]) |
---|
3035 | |
---|
3036 | ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags |
---|
3037 | ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs |
---|
3038 | fi |
---|
3039 | fi |
---|
3040 | |
---|
3041 | ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS" |
---|
3042 | CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags" |
---|
3043 | |
---|
3044 | if test "$have_gdk_pixbuf" = no; then |
---|
3045 | # |
---|
3046 | # we appear to have pixbuf; check for headers/libs to be sure. |
---|
3047 | # |
---|
3048 | |
---|
3049 | have_gdk_pixbuf=no |
---|
3050 | |
---|
3051 | # check for header A... |
---|
3052 | AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes]) |
---|
3053 | |
---|
3054 | # if that worked, check for header B... |
---|
3055 | if test "$have_gdk_pixbuf" = yes; then |
---|
3056 | have_gdk_pixbuf=no |
---|
3057 | gdk_pixbuf_halfassed=yes |
---|
3058 | AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf-xlib.h, |
---|
3059 | [have_gdk_pixbuf=yes |
---|
3060 | gdk_pixbuf_halfassed=no]) |
---|
3061 | |
---|
3062 | # yay, it has a new name in Gtk 2.x... |
---|
3063 | if test "$have_gdk_pixbuf" = no; then |
---|
3064 | have_gdk_pixbuf=no |
---|
3065 | gdk_pixbuf_halfassed=yes |
---|
3066 | AC_CHECK_X_HEADER(gdk-pixbuf-xlib/gdk-pixbuf-xlib.h, |
---|
3067 | [have_gdk_pixbuf=yes |
---|
3068 | gdk_pixbuf_halfassed=no]) |
---|
3069 | fi |
---|
3070 | fi |
---|
3071 | fi |
---|
3072 | |
---|
3073 | CPPFLAGS="$ac_save_gdk_pixbuf_CPPFLAGS" |
---|
3074 | |
---|
3075 | if test "$have_gdk_pixbuf" = yes; then |
---|
3076 | # we have the headers, now check for the libraries |
---|
3077 | have_gdk_pixbuf=no |
---|
3078 | gdk_pixbuf_halfassed=yes |
---|
3079 | |
---|
3080 | # library A... |
---|
3081 | AC_CHECK_X_LIB(c, gdk_pixbuf_new_from_file, [have_gdk_pixbuf=yes],, |
---|
3082 | $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm) |
---|
3083 | # library B... |
---|
3084 | if test "$have_gdk_pixbuf" = yes; then |
---|
3085 | have_gdk_pixbuf=no |
---|
3086 | AC_CHECK_X_LIB(c, gdk_pixbuf_xlib_init, |
---|
3087 | [have_gdk_pixbuf=yes |
---|
3088 | gdk_pixbuf_halfassed=no],, |
---|
3089 | $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm) |
---|
3090 | fi |
---|
3091 | fi |
---|
3092 | |
---|
3093 | if test "$have_gdk_pixbuf" = yes; then |
---|
3094 | INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags" |
---|
3095 | XPM_LIBS="$ac_gdk_pixbuf_config_libs" |
---|
3096 | AC_DEFINE(HAVE_GDK_PIXBUF) |
---|
3097 | else |
---|
3098 | have_gdk_pixbuf2=no |
---|
3099 | fi |
---|
3100 | fi |
---|
3101 | |
---|
3102 | |
---|
3103 | ############################################################################### |
---|
3104 | # |
---|
3105 | # Check for -ljpeg |
---|
3106 | # |
---|
3107 | ############################################################################### |
---|
3108 | |
---|
3109 | have_jpeg=no |
---|
3110 | with_jpeg_req=unspecified |
---|
3111 | jpeg_halfassed=no |
---|
3112 | AC_ARG_WITH(jpeg, |
---|
3113 | [ --with-jpeg Include support for the JPEG library.], |
---|
3114 | [with_jpeg="$withval"; with_jpeg_req="$withval"], |
---|
3115 | [with_jpeg=yes]) |
---|
3116 | |
---|
3117 | HANDLE_X_PATH_ARG(with_jpeg, --with-jpeg, JPEG) |
---|
3118 | |
---|
3119 | if test "$with_jpeg" != yes -a "$with_jpeg" != no ; then |
---|
3120 | echo "error: must be yes or no: --with-jpeg=$with_jpeg" |
---|
3121 | exit 1 |
---|
3122 | fi |
---|
3123 | |
---|
3124 | if test "$with_jpeg" = yes; then |
---|
3125 | |
---|
3126 | have_jpeg=no |
---|
3127 | AC_CHECK_X_HEADER(jpeglib.h, [have_jpeg=yes]) |
---|
3128 | |
---|
3129 | if test "$have_jpeg" = yes; then |
---|
3130 | # we have the header, now check for the library |
---|
3131 | have_jpeg=no |
---|
3132 | jpeg_halfassed=yes |
---|
3133 | AC_CHECK_X_LIB(jpeg, jpeg_start_compress, |
---|
3134 | [have_jpeg=yes |
---|
3135 | jpeg_halfassed=no |
---|
3136 | JPEG_LIBS="-ljpeg" |
---|
3137 | AC_DEFINE(HAVE_JPEGLIB)]) |
---|
3138 | fi |
---|
3139 | fi |
---|
3140 | |
---|
3141 | |
---|
3142 | ############################################################################### |
---|
3143 | # |
---|
3144 | # Check for the XSHM server extension. |
---|
3145 | # |
---|
3146 | ############################################################################### |
---|
3147 | |
---|
3148 | have_xshm=no |
---|
3149 | with_xshm_req=unspecified |
---|
3150 | AC_ARG_WITH(xshm-ext, |
---|
3151 | [ --with-xshm-ext Include support for the Shared Memory extension.], |
---|
3152 | [with_xshm="$withval"; with_xshm_req="$withval"],[with_xshm=yes]) |
---|
3153 | |
---|
3154 | HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM) |
---|
3155 | |
---|
3156 | if test "$with_xshm" = yes; then |
---|
3157 | |
---|
3158 | # first check for Xshm.h. |
---|
3159 | AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes],, |
---|
3160 | [#include <X11/Xlib.h>]) |
---|
3161 | |
---|
3162 | # if that succeeded, then check for sys/ipc.h. |
---|
3163 | if test "$have_xshm" = yes; then |
---|
3164 | have_xshm=no |
---|
3165 | AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes]) |
---|
3166 | fi |
---|
3167 | |
---|
3168 | # if that succeeded, then check for sys/shm.h. |
---|
3169 | if test "$have_xshm" = yes; then |
---|
3170 | have_xshm=no |
---|
3171 | AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes]) |
---|
3172 | fi |
---|
3173 | |
---|
3174 | # AIX is pathological, as usual: apparently it's normal for the Xshm headers |
---|
3175 | # to exist, but the library code to not exist. And even better, the library |
---|
3176 | # code is in its own library: libXextSam.a. So, if we're on AIX, and that |
---|
3177 | # lib doesn't exist, give up. (This lib gets added to X_EXTRA_LIBS, and |
---|
3178 | # that's not quite right, but close enough.) |
---|
3179 | # |
---|
3180 | case "$host" in |
---|
3181 | *-aix*) |
---|
3182 | if [ `uname -v` -eq 3 ]; then |
---|
3183 | have_xshm=no |
---|
3184 | AC_CHECK_X_LIB(XextSam, XShmQueryExtension, |
---|
3185 | [have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"], |
---|
3186 | [true], -lX11 -lXext -lm) |
---|
3187 | fi |
---|
3188 | ;; |
---|
3189 | esac |
---|
3190 | |
---|
3191 | # if that succeeded, then we've really got it. |
---|
3192 | if test "$have_xshm" = yes; then |
---|
3193 | AC_DEFINE(HAVE_XSHM_EXTENSION) |
---|
3194 | fi |
---|
3195 | |
---|
3196 | elif test "$with_xshm" != no; then |
---|
3197 | echo "error: must be yes or no: --with-xshm-ext=$with_xshm" |
---|
3198 | exit 1 |
---|
3199 | fi |
---|
3200 | |
---|
3201 | |
---|
3202 | ############################################################################### |
---|
3203 | # |
---|
3204 | # Check for the DOUBLE-BUFFER server extension. |
---|
3205 | # |
---|
3206 | ############################################################################### |
---|
3207 | |
---|
3208 | have_xdbe=no |
---|
3209 | with_xdbe_req=unspecified |
---|
3210 | AC_ARG_WITH(xdbe-ext, |
---|
3211 | [ --with-xdbe-ext Include support for the DOUBLE-BUFFER extension.], |
---|
3212 | [with_xdbe="$withval"; with_xdbe_req="$withval"],[with_xdbe=yes]) |
---|
3213 | |
---|
3214 | HANDLE_X_PATH_ARG(with_xdbe, --with-xdbe-ext, DOUBLE-BUFFER) |
---|
3215 | |
---|
3216 | if test "$with_xdbe" = yes; then |
---|
3217 | |
---|
3218 | AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes],, |
---|
3219 | [#include <X11/Xlib.h>]) |
---|
3220 | if test "$have_xdbe" = yes; then |
---|
3221 | AC_DEFINE(HAVE_DOUBLE_BUFFER_EXTENSION) |
---|
3222 | fi |
---|
3223 | |
---|
3224 | elif test "$with_xdbe" != no; then |
---|
3225 | echo "error: must be yes or no: --with-xdbe-ext=$with_xshm" |
---|
3226 | exit 1 |
---|
3227 | fi |
---|
3228 | |
---|
3229 | |
---|
3230 | ############################################################################### |
---|
3231 | # |
---|
3232 | # Check for the SGI XReadDisplay server extension. |
---|
3233 | # |
---|
3234 | # Note: this has to be down here, rather than up with the other server |
---|
3235 | # extension tests, so that the output of `configure --help' is in the |
---|
3236 | # right order. Arrgh! |
---|
3237 | # |
---|
3238 | ############################################################################### |
---|
3239 | |
---|
3240 | have_readdisplay=no |
---|
3241 | with_readdisplay_req=unspecified |
---|
3242 | AC_ARG_WITH(readdisplay, |
---|
3243 | [ --with-readdisplay Include support for the XReadDisplay extension.], |
---|
3244 | [with_readdisplay="$withval"; with_readdisplay_req="$withval"], |
---|
3245 | [with_readdisplay=yes]) |
---|
3246 | |
---|
3247 | HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay) |
---|
3248 | |
---|
3249 | if test "$with_readdisplay" = yes; then |
---|
3250 | AC_CHECK_X_HEADER(X11/extensions/readdisplay.h, |
---|
3251 | AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION),, |
---|
3252 | [#include <X11/Xlib.h>]) |
---|
3253 | elif test "$with_readdisplay" != no; then |
---|
3254 | echo "error: must be yes or no: --with-readdisplay=$with_readdisplay" |
---|
3255 | exit 1 |
---|
3256 | fi |
---|
3257 | |
---|
3258 | |
---|
3259 | ############################################################################### |
---|
3260 | # |
---|
3261 | # Check for a program to generate random text. |
---|
3262 | # |
---|
3263 | # Zippy is funnier than the idiocy generally spat out by `fortune', |
---|
3264 | # so first see if "fortune zippy" works. Else, use plain "fortune". |
---|
3265 | # |
---|
3266 | # We used to dig around in Emacs to look for the "yow" program, but |
---|
3267 | # most people who have Emacs also have "fortune zippy", so nevermind. |
---|
3268 | # |
---|
3269 | ############################################################################### |
---|
3270 | |
---|
3271 | with_fortune_req="" |
---|
3272 | AC_ARG_WITH(fortune,[ |
---|
3273 | --with-fortune=PROGRAM Some demos are able to run an external program and |
---|
3274 | display its text; this names the program to use by |
---|
3275 | default (though it can be overridden with X |
---|
3276 | resources.) Default is \"/usr/games/fortune\".], |
---|
3277 | [with_fortune_req="$withval"; with_fortune="$withval"],[with_fortune=yes]) |
---|
3278 | |
---|
3279 | if test "$with_fortune" = no || test "$with_fortune" = yes ; then |
---|
3280 | with_fortune="" |
---|
3281 | with_fortune_req="" |
---|
3282 | fi |
---|
3283 | |
---|
3284 | if test -n "$with_fortune_req" ; then |
---|
3285 | ac_cv_fortune_program="" |
---|
3286 | case "$with_fortune_req" in |
---|
3287 | /*) |
---|
3288 | |
---|
3289 | set dummy $with_fortune_req ; fortune_tmp=$2 |
---|
3290 | AC_MSG_CHECKING([for $fortune_tmp]) |
---|
3291 | if test -x "$fortune_tmp" ; then |
---|
3292 | AC_MSG_RESULT(yes) |
---|
3293 | else |
---|
3294 | AC_MSG_RESULT(no) |
---|
3295 | with_fortune="" |
---|
3296 | fi |
---|
3297 | ;; |
---|
3298 | *) |
---|
3299 | set dummy $with_fortune_req ; fortune_tmp=$2 |
---|
3300 | # don't cache |
---|
3301 | unset ac_cv_path_fortune_tmp |
---|
3302 | AC_PATH_PROG(fortune_tmp, $fortune_tmp, []) |
---|
3303 | if test -z "$fortune_tmp" ; then |
---|
3304 | with_fortune="" |
---|
3305 | fi |
---|
3306 | ;; |
---|
3307 | esac |
---|
3308 | ac_cv_fortune_program="$with_fortune" |
---|
3309 | |
---|
3310 | elif test -n "$ac_cv_fortune_program"; then |
---|
3311 | AC_MSG_RESULT([checking for fortune... (cached) $ac_cv_fortune_program]) |
---|
3312 | fi |
---|
3313 | |
---|
3314 | unset ac_cv_path_fortune_tmp |
---|
3315 | unset fortune_tmp |
---|
3316 | |
---|
3317 | if test -z "$ac_cv_fortune_program" ; then |
---|
3318 | |
---|
3319 | # first look for fortune in /usr/games/ (and use absolute path) |
---|
3320 | AC_PATH_PROGS(fortune_tmp, fortune,, "/usr/games") |
---|
3321 | |
---|
3322 | # if it's not there, look on $PATH (and don't use absolute path) |
---|
3323 | if test -z "$fortune_tmp" ; then |
---|
3324 | AC_CHECK_PROGS(fortune_tmp, fortune) |
---|
3325 | fi |
---|
3326 | |
---|
3327 | # if we didn't find anything, then just assume /usr/games/ |
---|
3328 | if test -z "$fortune_tmp" ; then |
---|
3329 | fortune_tmp="/usr/games/fortune" |
---|
3330 | fi |
---|
3331 | |
---|
3332 | ac_cv_fortune_program="$fortune_tmp" |
---|
3333 | |
---|
3334 | # now check to see whether "fortune zippy" works. |
---|
3335 | # |
---|
3336 | fortune_tmp="$fortune_tmp zippy" |
---|
3337 | AC_MSG_CHECKING([for zippy quotes]) |
---|
3338 | if ( $fortune_tmp >/dev/null 2>&1 ); then |
---|
3339 | ac_cv_fortune_program="$fortune_tmp" |
---|
3340 | AC_MSG_RESULT($fortune_tmp) |
---|
3341 | else |
---|
3342 | AC_MSG_RESULT(no) |
---|
3343 | fi |
---|
3344 | |
---|
3345 | fi |
---|
3346 | |
---|
3347 | unset ac_cv_path_fortune_tmp |
---|
3348 | unset fortune_tmp |
---|
3349 | |
---|
3350 | AC_DEFINE_UNQUOTED(FORTUNE_PROGRAM, "$ac_cv_fortune_program") |
---|
3351 | |
---|
3352 | |
---|
3353 | ############################################################################### |
---|
3354 | # |
---|
3355 | # Check whether it's ok to install some hacks as setuid (e.g., "sonar") |
---|
3356 | # This should be safe, but let's give people the option. |
---|
3357 | # |
---|
3358 | ############################################################################### |
---|
3359 | |
---|
3360 | setuid_hacks_default=no |
---|
3361 | setuid_hacks="$setuid_hacks_default" |
---|
3362 | AC_ARG_WITH(setuid-hacks, |
---|
3363 | [ --with-setuid-hacks Allow some demos to be installed \`setuid root' |
---|
3364 | (which is needed in order to ping other hosts.) |
---|
3365 | ], |
---|
3366 | [setuid_hacks="$withval"], [setuid_hacks="$setuid_hacks_default"]) |
---|
3367 | |
---|
3368 | HANDLE_X_PATH_ARG(setuid_hacks, --with-setuid-hacks, setuid hacks) |
---|
3369 | |
---|
3370 | if test "$setuid_hacks" = yes; then |
---|
3371 | true |
---|
3372 | elif test "$setuid_hacks" != no; then |
---|
3373 | echo "error: must be yes or no: --with-setuid-hacks=$setuid_hacks" |
---|
3374 | exit 1 |
---|
3375 | fi |
---|
3376 | |
---|
3377 | |
---|
3378 | ############################################################################### |
---|
3379 | # |
---|
3380 | # Done testing. Now, set up the various -I and -L variables, |
---|
3381 | # and decide which GUI program to build by default. |
---|
3382 | # |
---|
3383 | ############################################################################### |
---|
3384 | |
---|
3385 | DEPEND=makedepend |
---|
3386 | DEPEND_FLAGS= |
---|
3387 | DEPEND_DEFINES= |
---|
3388 | |
---|
3389 | |
---|
3390 | if test \! -z "$includedir" ; then |
---|
3391 | INCLUDES="$INCLUDES -I$includedir" |
---|
3392 | fi |
---|
3393 | |
---|
3394 | if test \! -z "$libdir" ; then |
---|
3395 | LDFLAGS="$LDFLAGS -L$libdir" |
---|
3396 | fi |
---|
3397 | |
---|
3398 | |
---|
3399 | PREFERRED_DEMO_PROGRAM='' |
---|
3400 | ALL_DEMO_PROGRAMS= |
---|
3401 | if test "$have_motif" = yes; then |
---|
3402 | PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm |
---|
3403 | ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS" |
---|
3404 | fi |
---|
3405 | if test "$have_gtk" = yes; then |
---|
3406 | PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Gtk |
---|
3407 | ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS" |
---|
3408 | fi |
---|
3409 | |
---|
3410 | |
---|
3411 | if test "$have_kerberos" = yes; then |
---|
3412 | PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)" |
---|
3413 | PASSWD_OBJS="$PASSWD_OBJS \$(KERBEROS_OBJS)" |
---|
3414 | fi |
---|
3415 | if test "$have_pam" = yes; then |
---|
3416 | PASSWD_SRCS="$PASSWD_SRCS \$(PAM_SRCS)" |
---|
3417 | PASSWD_OBJS="$PASSWD_OBJS \$(PAM_OBJS)" |
---|
3418 | INSTALL_PAM="install-pam" |
---|
3419 | fi |
---|
3420 | PASSWD_SRCS="$PASSWD_SRCS \$(PWENT_SRCS)" |
---|
3421 | PASSWD_OBJS="$PASSWD_OBJS \$(PWENT_OBJS)" |
---|
3422 | |
---|
3423 | |
---|
3424 | if test "$enable_locking" = yes; then |
---|
3425 | LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)' |
---|
3426 | LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)' |
---|
3427 | else |
---|
3428 | LOCK_SRCS='$(NOLOCK_SRCS_1)' |
---|
3429 | LOCK_OBJS='$(NOLOCK_OBJS_1)' |
---|
3430 | fi |
---|
3431 | |
---|
3432 | if test "$ac_macosx" = yes; then |
---|
3433 | EXES_OSX='$(EXES_OSX)' |
---|
3434 | SCRIPTS_OSX='$(SCRIPTS_OSX)' |
---|
3435 | MEN_OSX='$(MEN_OSX)' |
---|
3436 | else |
---|
3437 | EXES_OSX= |
---|
3438 | SCRIPTS_OSX= |
---|
3439 | MEN_OSX= |
---|
3440 | fi |
---|
3441 | |
---|
3442 | |
---|
3443 | INSTALL_SETUID='$(INSTALL_PROGRAM) $(SUID_FLAGS)' |
---|
3444 | |
---|
3445 | if test "$need_setuid" = yes; then |
---|
3446 | NEED_SETUID=yes |
---|
3447 | else |
---|
3448 | NEED_SETUID=no |
---|
3449 | fi |
---|
3450 | |
---|
3451 | if test "$setuid_hacks" = yes; then |
---|
3452 | SETUID_HACKS=yes |
---|
3453 | else |
---|
3454 | SETUID_HACKS=no |
---|
3455 | fi |
---|
3456 | |
---|
3457 | tab=' ' |
---|
3458 | if test "$have_gl" = yes; then |
---|
3459 | GL_EXES='$(GL_EXES)' |
---|
3460 | GL_UTIL_EXES='$(GL_UTIL_EXES)' |
---|
3461 | GL_MEN='$(GL_MEN)' |
---|
3462 | GL_KLUDGE="${tab} " |
---|
3463 | else |
---|
3464 | GL_KLUDGE="-${tab} " |
---|
3465 | fi |
---|
3466 | |
---|
3467 | if test "$have_gle" = yes; then |
---|
3468 | GLE_EXES='$(GLE_EXES)' |
---|
3469 | GLE_KLUDGE="${tab} " |
---|
3470 | else |
---|
3471 | GLE_KLUDGE="-${tab} " |
---|
3472 | fi |
---|
3473 | |
---|
3474 | if test "$have_jpeg" = yes -a "$have_gdk_pixbuf" = yes; then |
---|
3475 | JPEG_EXES='$(JPEG_EXES)' |
---|
3476 | fi |
---|
3477 | |
---|
3478 | |
---|
3479 | # Another substitution in the XScreenSaver.ad.in file: |
---|
3480 | # |
---|
3481 | if test "$have_gnome_help" = yes; then |
---|
3482 | GNOMEHELP_Y='' |
---|
3483 | GNOMEHELP_N='! ' |
---|
3484 | else |
---|
3485 | GNOMEHELP_Y='! ' |
---|
3486 | GNOMEHELP_N='' |
---|
3487 | fi |
---|
3488 | |
---|
3489 | |
---|
3490 | # Now that we know whether we have Gnome, we can decide where the XML |
---|
3491 | # config files get installed. |
---|
3492 | # |
---|
3493 | if test -z "$HACK_CONF_DIR" ; then |
---|
3494 | if test -n "$GNOME_DATADIR" ; then |
---|
3495 | HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers' |
---|
3496 | else |
---|
3497 | HACK_CONF_DIR='${prefix}/lib/xscreensaver/config' |
---|
3498 | fi |
---|
3499 | fi |
---|
3500 | |
---|
3501 | |
---|
3502 | |
---|
3503 | # After computing $HACK_CONF_DIR, make sure $GLADE_DATADIR has a value |
---|
3504 | # so that we know where to install the Gtk pixmaps. |
---|
3505 | # |
---|
3506 | # It should usually be "/usr/share/pixmaps/", but we can't just use |
---|
3507 | # "$(prefix)/share/pixmaps" because that would usually result in |
---|
3508 | # "/usr/X11R6/share/pixmaps/", which is wrong. It needs to be the |
---|
3509 | # Gnome/Gtk prefix, not the overall prefix. |
---|
3510 | # |
---|
3511 | if test -n "$GNOME_DATADIR" ; then |
---|
3512 | GLADE_DATADIR='$(GNOME_DATADIR)/xscreensaver' |
---|
3513 | elif test "$have_gtk" = yes; then |
---|
3514 | if test -n "$pkg_config"; then |
---|
3515 | if test "$have_gtk2" = yes; then |
---|
3516 | GLADE_DATADIR=`$pkg_config --variable=prefix gtk+-2.0` |
---|
3517 | else |
---|
3518 | GLADE_DATADIR=`$pkg_config --variable=prefix gtk+` |
---|
3519 | fi |
---|
3520 | else |
---|
3521 | GLADE_DATADIR=`$gtk_config --prefix` |
---|
3522 | fi |
---|
3523 | GLADE_DATADIR="$GLADE_DATADIR/share/xscreensaver" |
---|
3524 | else |
---|
3525 | GLADE_DATADIR='' |
---|
3526 | fi |
---|
3527 | |
---|
3528 | |
---|
3529 | # Set PO_DATADIR to something sensible. |
---|
3530 | # |
---|
3531 | AC_MSG_CHECKING([for locale directory]) |
---|
3532 | if test -n "$GNOME_DATADIR" ; then |
---|
3533 | PO_DATADIR="$GNOME_DATADIR" |
---|
3534 | elif test "$have_gtk" = yes; then |
---|
3535 | if test -n "$pkg_config"; then |
---|
3536 | if test "$have_gtk2" = yes; then |
---|
3537 | PO_DATADIR=`$pkg_config --variable=prefix gtk+-2.0` |
---|
3538 | else |
---|
3539 | PO_DATADIR=`$pkg_config --variable=prefix gtk+` |
---|
3540 | fi |
---|
3541 | else |
---|
3542 | PO_DATADIR=`$gtk_config --prefix` |
---|
3543 | fi |
---|
3544 | PO_DATADIR="$PO_DATADIR/share" |
---|
3545 | fi |
---|
3546 | |
---|
3547 | if test -z "$PO_DATADIR" ; then |
---|
3548 | # |
---|
3549 | # #### Total fucking kludge -- |
---|
3550 | # Map /build/prefix/usr/X11R6/share/ to /build/prefix/usr/share/ |
---|
3551 | # but of course we need to expand all the nested variables to do that... |
---|
3552 | # |
---|
3553 | dd=$datadir |
---|
3554 | eval dd=${dd} |
---|
3555 | eval dd=${dd} |
---|
3556 | eval dd=${dd} |
---|
3557 | eval dd=${dd} |
---|
3558 | eval dd=${dd} |
---|
3559 | PO_DATADIR=`echo $dd | sed 's@/X11R6/@/@'` |
---|
3560 | fi |
---|
3561 | |
---|
3562 | AC_MSG_RESULT($PO_DATADIR/locale) |
---|
3563 | |
---|
3564 | |
---|
3565 | # canonicalize slashes. |
---|
3566 | HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'` |
---|
3567 | |
---|
3568 | # gcc 3.0 likes to issue this warning for every file: |
---|
3569 | # |
---|
3570 | # cc1: warning: changing search order for system directory "/usr/local/include" |
---|
3571 | # cc1: warning: as it has already been specified as a non-system directory |
---|
3572 | # |
---|
3573 | # Yay. We can only avoid that by deleting "-I${prefix}/include" from the list. |
---|
3574 | # Which *should* be totally redundant, and thus an ok thing to delete? |
---|
3575 | # |
---|
3576 | INCLUDES=`echo "$INCLUDES" | sed 's@ -I${prefix}/include@@g;'` |
---|
3577 | |
---|
3578 | |
---|
3579 | ############################################################################### |
---|
3580 | # |
---|
3581 | # Perform substitutions and write Makefiles. |
---|
3582 | # |
---|
3583 | ############################################################################### |
---|
3584 | |
---|
3585 | AC_SUBST(INCLUDES) |
---|
3586 | |
---|
3587 | AC_SUBST(PREFERRED_DEMO_PROGRAM) |
---|
3588 | AC_SUBST(ALL_DEMO_PROGRAMS) |
---|
3589 | AC_SUBST(SAVER_LIBS) |
---|
3590 | AC_SUBST(MOTIF_LIBS) |
---|
3591 | AC_SUBST(GTK_LIBS) |
---|
3592 | AC_SUBST(XML_LIBS) |
---|
3593 | AC_SUBST(JPEG_LIBS) |
---|
3594 | AC_SUBST(HACK_LIBS) |
---|
3595 | AC_SUBST(XPM_LIBS) |
---|
3596 | AC_SUBST(GL_LIBS) |
---|
3597 | AC_SUBST(GLE_LIBS) |
---|
3598 | AC_SUBST(XDPMS_LIBS) |
---|
3599 | AC_SUBST(PASSWD_LIBS) |
---|
3600 | AC_SUBST(INSTALL_SETUID) |
---|
3601 | AC_SUBST(SETUID_HACKS) |
---|
3602 | AC_SUBST(INSTALL_DIRS) |
---|
3603 | AC_SUBST(NEED_SETUID) |
---|
3604 | AC_SUBST(INSTALL_PAM) |
---|
3605 | |
---|
3606 | AC_SUBST(OBJCC) |
---|
3607 | AC_SUBST(EXES_OSX) |
---|
3608 | AC_SUBST(SCRIPTS_OSX) |
---|
3609 | AC_SUBST(MEN_OSX) |
---|
3610 | |
---|
3611 | AC_SUBST(PASSWD_SRCS) |
---|
3612 | AC_SUBST(PASSWD_OBJS) |
---|
3613 | AC_SUBST(XMU_SRCS) |
---|
3614 | AC_SUBST(XMU_OBJS) |
---|
3615 | AC_SUBST(XMU_LIBS) |
---|
3616 | AC_SUBST(SAVER_GL_SRCS) |
---|
3617 | AC_SUBST(SAVER_GL_OBJS) |
---|
3618 | AC_SUBST(SAVER_GL_LIBS) |
---|
3619 | AC_SUBST(LOCK_SRCS) |
---|
3620 | AC_SUBST(LOCK_OBJS) |
---|
3621 | AC_SUBST(JPEG_EXES) |
---|
3622 | AC_SUBST(GL_EXES) |
---|
3623 | AC_SUBST(GL_UTIL_EXES) |
---|
3624 | AC_SUBST(GL_MEN) |
---|
3625 | AC_SUBST(GL_KLUDGE) |
---|
3626 | AC_SUBST(GLE_EXES) |
---|
3627 | AC_SUBST(GLE_KLUDGE) |
---|
3628 | AC_SUBST(GNOMEHELP_Y) |
---|
3629 | AC_SUBST(GNOMEHELP_N) |
---|
3630 | AC_SUBST(HACKDIR) |
---|
3631 | AC_SUBST(GNOME_DATADIR) |
---|
3632 | AC_SUBST(GLADE_DATADIR) |
---|
3633 | AC_SUBST(PO_DATADIR) |
---|
3634 | AC_SUBST(GNOME_PANELDIR) |
---|
3635 | AC_SUBST(HACK_CONF_DIR) |
---|
3636 | AC_SUBST(GTK_EXTRA_OBJS) |
---|
3637 | |
---|
3638 | APPDEFAULTS=$ac_x_app_defaults |
---|
3639 | AC_SUBST(APPDEFAULTS) |
---|
3640 | |
---|
3641 | AC_SUBST(DEPEND) |
---|
3642 | AC_SUBST(DEPEND_FLAGS) |
---|
3643 | AC_SUBST(DEPEND_DEFINES) |
---|
3644 | AC_SUBST(PERL) |
---|
3645 | |
---|
3646 | AC_OUTPUT(Makefile |
---|
3647 | utils/Makefile |
---|
3648 | driver/Makefile |
---|
3649 | hacks/Makefile |
---|
3650 | hacks/glx/Makefile |
---|
3651 | po/Makefile.in |
---|
3652 | driver/XScreenSaver.ad |
---|
3653 | driver/xscreensaver.kss) |
---|
3654 | |
---|
3655 | ############################################################################### |
---|
3656 | # |
---|
3657 | # Print some warnings at the end. |
---|
3658 | # |
---|
3659 | ############################################################################### |
---|
3660 | |
---|
3661 | warn_prefix_1=" Warning:" |
---|
3662 | warn_prefix_2=" Note:" |
---|
3663 | warn_prefix="$warn_prefix_1" |
---|
3664 | |
---|
3665 | warning=no |
---|
3666 | warnsep=' #################################################################' |
---|
3667 | |
---|
3668 | warnpre() { |
---|
3669 | if test "$warning" = no ; then |
---|
3670 | echo '' ; echo "$warnsep" ; echo '' |
---|
3671 | warning=yes |
---|
3672 | fi |
---|
3673 | } |
---|
3674 | |
---|
3675 | warn() { |
---|
3676 | warnpre |
---|
3677 | if test "$warning" = long ; then echo '' ; fi |
---|
3678 | warning=yes |
---|
3679 | rest="$@" |
---|
3680 | echo "$warn_prefix $rest" |
---|
3681 | } |
---|
3682 | |
---|
3683 | warnL() { |
---|
3684 | was=$warning |
---|
3685 | warnpre |
---|
3686 | warning=yes |
---|
3687 | if test "$was" != no ; then echo '' ; fi |
---|
3688 | rest="$@" |
---|
3689 | echo "$warn_prefix $rest" |
---|
3690 | } |
---|
3691 | |
---|
3692 | warn2() { |
---|
3693 | rest="$@" |
---|
3694 | echo " $rest" |
---|
3695 | warning=long |
---|
3696 | } |
---|
3697 | |
---|
3698 | note() { |
---|
3699 | warn_prefix="$warn_prefix_2" |
---|
3700 | warn $@ |
---|
3701 | warn_prefix="$warn_prefix_1" |
---|
3702 | } |
---|
3703 | |
---|
3704 | noteL() { |
---|
3705 | warn_prefix="$warn_prefix_2" |
---|
3706 | warnL $@ |
---|
3707 | warn_prefix="$warn_prefix_1" |
---|
3708 | } |
---|
3709 | |
---|
3710 | |
---|
3711 | if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then |
---|
3712 | warn 'The SGI saver extension was requested, but was not found.' |
---|
3713 | fi |
---|
3714 | |
---|
3715 | if test "$with_mit_req" = yes -a "$have_mit" = no ; then |
---|
3716 | warn 'The MIT saver extension was requested, but was not found.' |
---|
3717 | fi |
---|
3718 | |
---|
3719 | if test "$with_xidle_req" = yes -a "$have_xidle" = no ; then |
---|
3720 | warn 'The XIdle extension was requested, but was not found.' |
---|
3721 | fi |
---|
3722 | |
---|
3723 | if test "$with_xshm_req" = yes -a "$have_xshm" = no ; then |
---|
3724 | warn 'The XSHM extension was requested, but was not found.' |
---|
3725 | fi |
---|
3726 | |
---|
3727 | if test "$with_xdbe_req" = yes -a "$have_xdbe" = no ; then |
---|
3728 | warn 'The DOUBLE-BUFFER extension was requested, but was not found.' |
---|
3729 | fi |
---|
3730 | |
---|
3731 | if test "$with_sgivc_req" = yes -a "$have_sgivc" = no ; then |
---|
3732 | warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.' |
---|
3733 | fi |
---|
3734 | |
---|
3735 | if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then |
---|
3736 | warn 'The DPMS extension was requested, but was not found.' |
---|
3737 | fi |
---|
3738 | |
---|
3739 | if test "$with_xinerama_req" = yes -a "$have_xinerama" = no ; then |
---|
3740 | warn 'The Xinerama extension was requested, but was not found.' |
---|
3741 | fi |
---|
3742 | |
---|
3743 | if test "$with_xf86vmode_req" = yes -a "$have_xf86vmode" = no ; then |
---|
3744 | warn 'The XF86VMODE extension was requested, but was not found.' |
---|
3745 | fi |
---|
3746 | |
---|
3747 | if test "$with_proc_interrupts_req" = yes -a "$have_proc_interrupts" = no; then |
---|
3748 | warn "Checking of /proc/interrupts was requested, but it's bogus." |
---|
3749 | fi |
---|
3750 | |
---|
3751 | motif_warn2() { |
---|
3752 | warn2 'Though the Motif front-end to xscreensaver is still' |
---|
3753 | warn2 'maintained, it is no longer being updated with new' |
---|
3754 | warn2 'features: all new development on the xscreensaver-demo' |
---|
3755 | warn2 'program is happening in the GTK version, and not in the' |
---|
3756 | warn2 'Motif version. It is recommended that you build against' |
---|
3757 | warn2 'GTK instead of Motif. See <http://www.gtk.org/>.' |
---|
3758 | } |
---|
3759 | |
---|
3760 | if test "$have_motif" = no -a "$have_gtk" = no; then |
---|
3761 | |
---|
3762 | if test "$with_motif" = yes; then |
---|
3763 | warnL "Neither the GTK nor Motif libraries were found; the" |
---|
3764 | warn2 "\`xscreensaver-demo' program requires one of these." |
---|
3765 | echo '' |
---|
3766 | motif_warn2 |
---|
3767 | else |
---|
3768 | warnL "The GTK libraries do not seem to be available; the" |
---|
3769 | warn2 "\`xscreensaver-demo' program requires them." |
---|
3770 | echo '' |
---|
3771 | warn2 'You can use Motif or Lesstif instead of GTK (use the' |
---|
3772 | warn2 "\`--with-motif' option) but that is NOT recommended." |
---|
3773 | motif_warn2 |
---|
3774 | fi |
---|
3775 | |
---|
3776 | elif test "$with_motif_req" = yes -a "$have_motif" = no ; then |
---|
3777 | warnL "Use of Motif was requested, but it wasn't found;" |
---|
3778 | warn2 "Gtk will be used instead." |
---|
3779 | |
---|
3780 | elif test "$jurassic_gtk" = yes ; then |
---|
3781 | |
---|
3782 | pref_gtk=1.2 |
---|
3783 | |
---|
3784 | v="$ac_gtk_version_string" |
---|
3785 | if test "$with_gtk_req" = yes -a "$ac_gtk_version" = "unknown" ; then |
---|
3786 | warnL "Use of Gtk was requested, but its version number is unknown;" |
---|
3787 | elif test "$with_gtk_req" = yes ; then |
---|
3788 | warnL "Use of Gtk was requested, but it is version $v;" |
---|
3789 | else |
---|
3790 | warnL "Gtk was found on this system, but it is version $v;" |
---|
3791 | fi |
---|
3792 | |
---|
3793 | warn2 "Gtk $pref_gtk or newer is required." |
---|
3794 | |
---|
3795 | elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then |
---|
3796 | warnL "Use of Gtk was requested, but it wasn't found." |
---|
3797 | fi |
---|
3798 | |
---|
3799 | if test "$gtk2_halfassed" != no ; then |
---|
3800 | warnL "GTK version $gtk2_halfassed was found, but at least one supporting" |
---|
3801 | warn2 "library ($gtk2_halfassed_lib) was not, so GTK 2.x can't be used." |
---|
3802 | if test "$have_gtk" = yes ; then |
---|
3803 | v="$ac_gtk_version_string" |
---|
3804 | warn2 "GTK $v is also installed, so it will be used instead." |
---|
3805 | warn2 "Please read the above output and the \`config.log' file" |
---|
3806 | warn2 "for more details." |
---|
3807 | fi |
---|
3808 | fi |
---|
3809 | |
---|
3810 | |
---|
3811 | if test "$with_gnome_req" = yes -a "$have_gnome" = no \ |
---|
3812 | -a "$have_gtk2" = no; then |
---|
3813 | # don't issue this warning if we have GTK2 -- in that case, the |
---|
3814 | # Gnome-specific code isn't needed. |
---|
3815 | warn 'Use of the Gnome Control Panel was requested, but the necessary' |
---|
3816 | warn2 'headers and/or libraries were not found.' |
---|
3817 | fi |
---|
3818 | |
---|
3819 | if test "$have_gtk" = yes ; then |
---|
3820 | if test "$have_xml" = no ; then |
---|
3821 | if test "$with_xml_req" = yes ; then |
---|
3822 | warn 'Use of the XML library was requested, but the necessary' |
---|
3823 | warn2 'headers and/or libraries were not found.' |
---|
3824 | else |
---|
3825 | warn 'GTK is being used, but the XML library was not found.' |
---|
3826 | fi |
---|
3827 | |
---|
3828 | if test "$xml_halfassed" = yes ; then |
---|
3829 | |
---|
3830 | if test "$have_zlib" = yes ; then |
---|
3831 | which="XML libraries" |
---|
3832 | else |
---|
3833 | which="\`zlib' library" |
---|
3834 | fi |
---|
3835 | |
---|
3836 | echo '' |
---|
3837 | warn2 'More specifically, we found the headers, but not the' |
---|
3838 | warn2 "$which; so either XML is half-installed on this" |
---|
3839 | warn2 "system, or something else went wrong. The \`config.log'" |
---|
3840 | warn2 'file might contain some clues.' |
---|
3841 | fi |
---|
3842 | |
---|
3843 | echo '' |
---|
3844 | warn2 "Without XML, the per-display-mode \`Settings' dialogs" |
---|
3845 | warn2 'will not be available. Specify the location of the XML' |
---|
3846 | warn2 'library through the --with-xml option to configure.' |
---|
3847 | fi |
---|
3848 | fi |
---|
3849 | |
---|
3850 | if test "$have_gtk" = yes -a "$have_gdk_pixbuf" = no ; then |
---|
3851 | warn "GTK is being used, but the GDK-Pixbuf library and/or" |
---|
3852 | warn2 "headers were not found. That can't be good. Please" |
---|
3853 | warn2 "install the GDK-Pixbuf development kit and re-configure." |
---|
3854 | fi |
---|
3855 | |
---|
3856 | if test "$have_motif" = yes -a "$have_lesstif" = yes ; then |
---|
3857 | |
---|
3858 | preferred_lesstif=0.92 |
---|
3859 | |
---|
3860 | if test "$lesstif_version" = unknown; then |
---|
3861 | warnL "Unable to determine the LessTif version number!" |
---|
3862 | warn2 "Make sure you are using version $preferred_lesstif or newer." |
---|
3863 | warn2 "See <http://www.lesstif.org/>." |
---|
3864 | |
---|
3865 | elif test \! $lesstif_version -gt 82; then |
---|
3866 | warnL "LessTif version $lesstif_version_string is being used." |
---|
3867 | warn2 "LessTif versions 0.82 and earlier are too buggy to" |
---|
3868 | warn2 "use with XScreenSaver; it is strongly recommended" |
---|
3869 | warn2 "that you upgrade to at least version $preferred_lesstif!" |
---|
3870 | warn2 "See <http://www.lesstif.org/>." |
---|
3871 | fi |
---|
3872 | fi |
---|
3873 | |
---|
3874 | |
---|
3875 | if test "$have_motif" = yes -a "$have_gtk" = no ; then |
---|
3876 | warn 'Motif is being used, and GTK is not.' |
---|
3877 | echo '' |
---|
3878 | motif_warn2 |
---|
3879 | fi |
---|
3880 | |
---|
3881 | |
---|
3882 | if test "$with_xpm_req" = yes -a "$have_xpm" = no; then |
---|
3883 | warnL 'Use of XPM was requested, but it was not found.' |
---|
3884 | fi |
---|
3885 | |
---|
3886 | if test "$with_gdk_pixbuf_req" = yes -a "$have_gdk_pixbuf" = no; then |
---|
3887 | warnL 'Use of GDK-Pixbuf was requested, but it was not found.' |
---|
3888 | fi |
---|
3889 | |
---|
3890 | if test "$have_xpm" = no -a "$have_gdk_pixbuf" = no || \ |
---|
3891 | test "$gdk_pixbuf_halfassed" = yes; then |
---|
3892 | |
---|
3893 | if test "$with_xpm_req" = yes -o "$have_xpm" = yes ; then |
---|
3894 | true |
---|
3895 | elif test "$with_xpm_req" = no ; then |
---|
3896 | warnL 'The XPM library is not being used.' |
---|
3897 | else |
---|
3898 | warnL 'The XPM library was not found.' |
---|
3899 | fi |
---|
3900 | |
---|
3901 | if test "$with_gdk_pixbuf_req" = yes ; then |
---|
3902 | true |
---|
3903 | elif test "$with_gdk_pixbuf_req" = no ; then |
---|
3904 | warnL 'The GDK-Pixbuf library is not being used.' |
---|
3905 | else |
---|
3906 | warnL 'The GDK-Pixbuf library was not found.' |
---|
3907 | fi |
---|
3908 | |
---|
3909 | if test "$gdk_pixbuf_halfassed" = yes ; then |
---|
3910 | echo '' |
---|
3911 | warn2 'More specifically, we found the headers, but not the' |
---|
3912 | warn2 'libraries; so either GDK-Pixbuf is half-installed on this' |
---|
3913 | warn2 "system, or something else went wrong. The \`config.log'" |
---|
3914 | warn2 'file might contain some clues.' |
---|
3915 | fi |
---|
3916 | |
---|
3917 | echo '' |
---|
3918 | warn2 'Some of the demos will not be as colorful as they' |
---|
3919 | warn2 'could be. You should consider installing Pixbuf or' |
---|
3920 | warn2 'XPM and re-running configure. The Pixbuf library is' |
---|
3921 | warn2 'a part of GNOME. The XPM library comes with most' |
---|
3922 | warn2 'X11 installations; you can also find it at the X11' |
---|
3923 | warn2 'archive sites, such as <http://sunsite.unc.edu/>.' |
---|
3924 | echo '' |
---|
3925 | warn2 'GDK-Pixbuf is recommended over XPM, as it provides' |
---|
3926 | warn2 'support for more image formats.' |
---|
3927 | fi |
---|
3928 | |
---|
3929 | |
---|
3930 | if test "$have_jpeg" = no ; then |
---|
3931 | if test "$with_jpeg_req" = yes ; then |
---|
3932 | warnL 'Use of libjpeg was requested, but it was not found.' |
---|
3933 | elif test "$with_jpeg_req" = no ; then |
---|
3934 | noteL 'The JPEG library is not being used.' |
---|
3935 | else |
---|
3936 | noteL 'The JPEG library was not found.' |
---|
3937 | fi |
---|
3938 | |
---|
3939 | if test "$jpeg_halfassed" = yes ; then |
---|
3940 | echo '' |
---|
3941 | warn2 'More specifically, we found the headers, but not the' |
---|
3942 | warn2 'library; so either JPEG is half-installed on this' |
---|
3943 | warn2 "system, or something else went wrong. The \`config.log'" |
---|
3944 | warn2 'file might contain some clues.' |
---|
3945 | echo '' |
---|
3946 | fi |
---|
3947 | |
---|
3948 | if test "$have_gdk_pixbuf" = no ; then |
---|
3949 | warn2 "This means that it won't be possible for the image-manipulating" |
---|
3950 | warn2 "display modes to load files from disk; and it also means that" |
---|
3951 | warn2 "the \`webcollage' program will be much slower." |
---|
3952 | else |
---|
3953 | warn2 "This means the \`webcollage' program will be much slower." |
---|
3954 | fi |
---|
3955 | fi |
---|
3956 | |
---|
3957 | |
---|
3958 | if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then |
---|
3959 | preferred_mesagl=3.4 |
---|
3960 | mgv="$ac_mesagl_version_string" |
---|
3961 | pgl="$preferred_mesagl" |
---|
3962 | |
---|
3963 | if test "$ac_mesagl_version" = unknown; then |
---|
3964 | warnL "Unable to determine the MesaGL version number!" |
---|
3965 | warn2 "Make sure you are using version $preferred_mesagl or newer." |
---|
3966 | |
---|
3967 | elif test \! "$ac_mesagl_version" -gt 2006; then |
---|
3968 | warnL "MesaGL version number is $mgv --" |
---|
3969 | warn2 "MesaGL 2.6 and earlier have a security bug. It is strongly" |
---|
3970 | warn2 "recommended that you upgrade to at least version $preferred_mesagl." |
---|
3971 | |
---|
3972 | elif test \! "$ac_mesagl_version" -gt 3003; then |
---|
3973 | warnL "MesaGL version number is $mgv --" |
---|
3974 | warn2 "MesaGL 3.3 and earlier have some bugs; it is recommended" |
---|
3975 | warn2 "that you upgrade to $pgl or newer." |
---|
3976 | fi |
---|
3977 | fi |
---|
3978 | |
---|
3979 | if test "$have_gl" = no ; then |
---|
3980 | if test "$with_gl_req" = yes ; then |
---|
3981 | warnL 'Use of GL was requested, but it was not found.' |
---|
3982 | elif test "$with_gl_req" = no ; then |
---|
3983 | noteL 'The OpenGL 3D library is not being used.' |
---|
3984 | else |
---|
3985 | noteL 'The OpenGL 3D library was not found.' |
---|
3986 | fi |
---|
3987 | |
---|
3988 | if test "$gl_halfassed" = yes ; then |
---|
3989 | echo '' |
---|
3990 | warn2 'More specifically, we found the headers, but not the' |
---|
3991 | warn2 'libraries; so either GL is half-installed on this' |
---|
3992 | warn2 "system, or something else went wrong. The \`config.log'" |
---|
3993 | warn2 'file might contain some clues.' |
---|
3994 | fi |
---|
3995 | |
---|
3996 | echo '' |
---|
3997 | warn2 'Those demos which use 3D will not be built or installed.' |
---|
3998 | warn2 'You might want to consider installing OpenGL and' |
---|
3999 | warn2 "re-running configure. If your vendor doesn't ship" |
---|
4000 | warn2 'their own implementation of OpenGL, you can get a free' |
---|
4001 | warn2 'version at <http://www.mesa3d.org/>. For general OpenGL' |
---|
4002 | warn2 'info, see <http://www.opengl.org/>.' |
---|
4003 | |
---|
4004 | fi |
---|
4005 | |
---|
4006 | |
---|
4007 | if test "$have_gl" = yes -a "$have_gle" = no ; then |
---|
4008 | |
---|
4009 | # nobody cares about this; don't print the warning unless it was |
---|
4010 | # requested and not found, or halfway-found. |
---|
4011 | if test "$with_gle_req" = yes -o "$gle_halfassed" = yes ; then |
---|
4012 | |
---|
4013 | if test "$with_gle_req" = yes ; then |
---|
4014 | noteL 'Use of the GLE (GL Extrusion) library was requested, but' |
---|
4015 | warn2 'it was not found (though the OpenGL library was found, and' |
---|
4016 | warn2 'is being used.)' |
---|
4017 | elif test "$with_gle_req" = no ; then |
---|
4018 | noteL 'The OpenGL Library is being used, but the GLE (GL Extrusion)' |
---|
4019 | warn2 'library is not.' |
---|
4020 | else |
---|
4021 | noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)' |
---|
4022 | warn2 'was not.' |
---|
4023 | fi |
---|
4024 | |
---|
4025 | if test "$gle_halfassed" = yes ; then |
---|
4026 | echo '' |
---|
4027 | warn2 'More specifically, we found the headers, but not the' |
---|
4028 | warn2 'libraries; so either GLE is half-installed on this' |
---|
4029 | warn2 "system, or something else went wrong. The \`config.log'" |
---|
4030 | warn2 'file might contain some clues.' |
---|
4031 | fi |
---|
4032 | |
---|
4033 | echo '' |
---|
4034 | warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)' |
---|
4035 | warn2 'will not be built or installed. You might want to consider' |
---|
4036 | warn2 'installing GLE and re-running configure. You can find the' |
---|
4037 | warn2 'GLE library at <http://www.linas.org/gle/>. For general' |
---|
4038 | warn2 'OpenGL info, see <http://www.opengl.org/>.' |
---|
4039 | |
---|
4040 | fi |
---|
4041 | fi |
---|
4042 | |
---|
4043 | |
---|
4044 | if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then |
---|
4045 | warn 'Use of XReadDisplay was requested, but it was not found.' |
---|
4046 | fi |
---|
4047 | |
---|
4048 | if test -n "$with_fortune_req"; then |
---|
4049 | if test "$with_fortune_req" != "$ac_cv_fortune_program" ; then |
---|
4050 | warnL "$with_fortune_req was requested as the Fortune program," |
---|
4051 | warn2 "but was not found. The default will be used instead." |
---|
4052 | fi |
---|
4053 | fi |
---|
4054 | |
---|
4055 | if test "$with_kerberos_req" = yes -a "$have_kerberos" = no ; then |
---|
4056 | warn 'Use of Kerberos was requested, but it was not found.' |
---|
4057 | fi |
---|
4058 | |
---|
4059 | if test "$with_pam_req" = yes -a "$have_pam" = no ; then |
---|
4060 | warn 'Use of PAM was requested, but it was not found.' |
---|
4061 | fi |
---|
4062 | |
---|
4063 | if test "$with_shadow_req" = yes -a "$have_shadow" = no ; then |
---|
4064 | warn 'Use of shadow passwords was requested, but they were not found.' |
---|
4065 | fi |
---|
4066 | |
---|
4067 | |
---|
4068 | # You are in a twisty maze of namespaces and syntaxes, all alike. |
---|
4069 | # Fuck the skull of Unix. |
---|
4070 | # |
---|
4071 | eval bindir=${bindir} |
---|
4072 | eval bindir=${bindir} |
---|
4073 | eval bindir=${bindir} |
---|
4074 | eval bindir=${bindir} |
---|
4075 | eval bindir=${bindir} |
---|
4076 | eval bindir=${bindir} |
---|
4077 | eval HACKDIR=${HACKDIR} |
---|
4078 | eval HACKDIR=${HACKDIR} |
---|
4079 | eval HACKDIR=${HACKDIR} |
---|
4080 | eval HACKDIR=${HACKDIR} |
---|
4081 | eval HACKDIR=${HACKDIR} |
---|
4082 | eval HACKDIR=${HACKDIR} |
---|
4083 | eval HACK_CONF_DIR=${HACK_CONF_DIR} |
---|
4084 | eval HACK_CONF_DIR=${HACK_CONF_DIR} |
---|
4085 | eval HACK_CONF_DIR=${HACK_CONF_DIR} |
---|
4086 | eval HACK_CONF_DIR=${HACK_CONF_DIR} |
---|
4087 | eval HACK_CONF_DIR=${HACK_CONF_DIR} |
---|
4088 | eval HACK_CONF_DIR=${HACK_CONF_DIR} |
---|
4089 | |
---|
4090 | # canonicalize slashes. |
---|
4091 | bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'` |
---|
4092 | HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'` |
---|
4093 | HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'` |
---|
4094 | |
---|
4095 | |
---|
4096 | # Sanity check the hackdir |
---|
4097 | for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do |
---|
4098 | if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then |
---|
4099 | echo "" |
---|
4100 | AC_MSG_ERROR([\"--with-hackdir=${bindir}/${bad_choice}\" won't work. |
---|
4101 | There will be an executable installed with that name, so |
---|
4102 | that can't be the name of a directory as well. Please |
---|
4103 | re-configure with a different directory name.]) |
---|
4104 | fi |
---|
4105 | done |
---|
4106 | |
---|
4107 | |
---|
4108 | do_dir_warning=no |
---|
4109 | |
---|
4110 | # Now let's see if there's a previous RPM version already installed. Blargh! |
---|
4111 | |
---|
4112 | # M4 sucks!! |
---|
4113 | changequote(X,Y) |
---|
4114 | rpmv=`(rpm -qv xscreensaver) 2>/dev/null | \ |
---|
4115 | sed -n 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/p'` |
---|
4116 | changequote([,]) |
---|
4117 | |
---|
4118 | if test \! -z "$rpmv" ; then |
---|
4119 | rpmbdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/xscreensaver-demo$@\1@p'` |
---|
4120 | rpmhdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/attraction$@\1@p'` |
---|
4121 | |
---|
4122 | warning=no |
---|
4123 | warnL "There is already an installed RPM of xscreensaver $rpmv" |
---|
4124 | warn2 "on this system. You might want to remove it (with" |
---|
4125 | warn2 '"rpm -ve xscreensaver") before running "make install"' |
---|
4126 | warn2 "from this directory." |
---|
4127 | echo "" |
---|
4128 | warn2 "Alternately, you could build this version of xscreensaver" |
---|
4129 | warn2 'as an RPM, and then install that. An "xscreensaver.spec"' |
---|
4130 | warn2 "file is included. See the RPM documentation for more info." |
---|
4131 | echo "" |
---|
4132 | |
---|
4133 | if test "$rpmbdir" = "$rpmhdir" ; then |
---|
4134 | warn2 "The RPM version was installed in $rpmbdir/." |
---|
4135 | else |
---|
4136 | warn2 "The RPM version was installed in $rpmbdir/," |
---|
4137 | warn2 "with demos in $rpmhdir/." |
---|
4138 | fi |
---|
4139 | |
---|
4140 | do_dir_warning=yes |
---|
4141 | fi |
---|
4142 | |
---|
4143 | |
---|
4144 | if test "${bindir}" = "${HACKDIR}" ; then |
---|
4145 | do_dir_warning=yes |
---|
4146 | fi |
---|
4147 | |
---|
4148 | if test "$do_dir_warning" = yes; then |
---|
4149 | echo "" |
---|
4150 | echo "$warnsep" |
---|
4151 | echo "" |
---|
4152 | echo ' When you run "make install", the "xscreensaver",' |
---|
4153 | echo ' "xscreensaver-demo", and "xscreensaver-command" executables' |
---|
4154 | echo " will be installed in ${bindir}/." |
---|
4155 | echo "" |
---|
4156 | echo " The various graphics demos (175+ different executables) will" |
---|
4157 | echo " be installed in ${HACKDIR}/." |
---|
4158 | echo "" |
---|
4159 | echo " If you would prefer the demos to be installed elsewhere," |
---|
4160 | echo " you should re-run configure with the --with-hackdir=DIR" |
---|
4161 | echo " option. For more information, run \`./configure --help'." |
---|
4162 | warning=yes |
---|
4163 | fi |
---|
4164 | |
---|
4165 | if test "$warning" != no; then |
---|
4166 | echo '' ; echo "$warnsep" ; echo '' |
---|
4167 | fi |
---|
4168 | |
---|
4169 | if test "$do_dir_warning" = no; then |
---|
4170 | if test "$warning" = no; then |
---|
4171 | echo '' |
---|
4172 | fi |
---|
4173 | echo "User programs will be installed in ${bindir}/" |
---|
4174 | echo "Screen savers will be installed in ${HACKDIR}/" |
---|
4175 | echo "Configuration will be installed in ${HACK_CONF_DIR}/" |
---|
4176 | echo '' |
---|
4177 | fi |
---|