ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/configure.ac
Revision: 1.50
Committed: Wed Jun 13 11:30:42 2007 UTC (16 years, 11 months ago) by ayin
Branch: MAIN
Changes since 1.49: +0 -3 lines
Log Message:
Remove unused variables.

File Contents

# Content
1 dnl#
2 dnl# Process this file with autoconf to produce a configure script.
3 dnl#
4
5 AC_INIT
6 AC_PREREQ(2.50)
7 AC_CONFIG_SRCDIR([src/feature.h])
8 AC_CONFIG_HEADER(config.h:config.h.in)
9
10 AC_CANONICAL_HOST
11
12 dnl RXVT version
13 changequote(, )dnl
14 VERSION=`sed -n -e 's/^.*[ \t]VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
15 DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
16 dnl LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
17 changequote([, ])dnl
18 AC_SUBST(VERSION)dnl
19 AC_SUBST(DATE)dnl
20 AC_SUBST(LSMDATE)dnl
21 AC_SUBST(LIBVERSION)dnl
22 echo ""
23 echo "configuring for rxvt $VERSION"
24 echo ""
25
26 orig_CXXFLAGS="$CXXFLAGS"
27
28 dnl# Checks for programs.
29 dnl AC_MAKE_SET
30
31 AC_PROG_CC
32 AC_PROG_CXX
33 AC_PROG_CPP
34 AC_PROG_INSTALL
35
36 AC_AIX
37 AC_ISC_POSIX
38 AC_LANG(C++)
39
40 dnl check wether we can link with gcc -lsupc++
41 if test x$GCC = xyes && test x$GXX = xyes; then
42 dnl FreeBSD (at least up to 5.3) has a broken GCC, workaround it
43 AC_MSG_CHECKING([for working libsupc++])
44 save_CXX="$CXX"
45 save_LIBS="$LIBS"
46 CXX="$CC"
47 LIBS="$LIBS -lsupc++"
48 LINKER="$CC"
49 AC_LINK_IFELSE(
50 [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])],
51 [AC_MSG_RESULT(ok)],
52 [
53 AC_MSG_RESULT([no, making everything bigger and slower])
54 LIBS="$save_LIBS"
55 LINKER="$save_CXX"
56 ]
57 )
58 CXX="$save_CXX"
59 fi
60 AC_SUBST(LINKER,[$LINKER])
61
62 dnl# --------------------------------------------------------------------------
63 dnl# Supply default CXXFLAGS, if not specified by `CXXFLAGS=flags ./configure'
64 dnl#
65 if test -z "$orig_CXXFLAGS"; then
66 if test x$GCC = xyes && test "x$GXX" = xyes; then
67 CXXFLAGS="-g -O3 -fno-threadsafe-statics -fno-enforce-eh-specs"
68 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="-g -O3"])
69 else
70 CXXFLAGS="-O"
71 fi
72 CFLAGS="$CXXFLAGS"
73 fi
74
75 AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.)
76
77 case $host in
78 *-*-solaris* )
79 AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
80 AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris)
81 AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
82 ;;
83 esac
84
85 dnl if test x$GXX = xyes; then
86 dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now...
87 dnl fi
88
89 dnl# FreeBSD needs to link libxpg4
90 AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])])
91
92 dnl# solaris needs to link libnsl and socket
93 AC_CHECK_FUNC(gethostbyname, [], [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])])
94 AC_CHECK_FUNC(socket, [], [AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])])
95
96 dnl AC_ENABLE_SHARED(no)dnl# libtool
97 dnl AC_ENABLE_STATIC(yes)dnl# libtool
98 dnl AC_PROG_LIBTOOL()dnl# libtool
99
100 support_frills=yes
101 support_inheritpixmap=yes
102 support_tinting=yes
103 support_fading=yes
104 support_keepscrolling=yes
105 support_selectionscrolling=yes
106 support_mousewheel=yes
107 support_mouseslipwheel=yes
108 support_text_blink=yes
109 support_pointer_blank=yes
110 support_scroll_rxvt=yes
111 support_scroll_next=yes
112 support_scroll_xterm=yes
113 support_scroll_plain=yes
114 support_xim=yes
115 support_xpm=yes
116 support_afterimage=yes
117 support_afterstep=yes
118 support_xft=yes
119 support_unicode3=no
120 support_combining=yes
121 support_8bitctrls=no
122 support_iso14755=yes
123 support_styles=yes
124 support_perl=yes
125 codesets=all
126
127 dnl# --------------------------------------------------------------------------
128 dnl# CHECKING COMMAND LINE OPTIONS
129 dnl# --------------------------------------------------------------------------
130
131 if test "x$enable_shared" = xyes; then
132 AC_DEFINE(LIBRXVT, 1, Build shared library version - specify via configure only)
133 INSTALL_LIBRXVT=yes
134 fi
135 AC_SUBST(INSTALL_LIBRXVT)
136
137 AC_ARG_ENABLE(everything,
138 [ --enable-everything enable standard non-multichoice features
139 NOTE: this option is order dependent
140 NOTE: automatically enabled with --enable-shared],
141 [
142 if test x$enableval = xno; then
143 support_frills=no
144 support_inheritpixmap=no
145 support_tinting=no
146 support_fading=no
147 support_keepscrolling=no
148 support_selectionscrolling=no
149 support_lastlog=no
150 support_mousewheel=no
151 support_mouseslipwheel=no
152 support_text_blink=no
153 support_pointer_blank=no
154 support_scroll_rxvt=no
155 support_scroll_next=no
156 support_scroll_xterm=no
157 support_scroll_plain=no
158 support_utmp=no
159 support_wtmp=no
160 support_xim=no
161 support_xpm=no
162 support_afterimage=no
163 support_afterstep=no
164 support_xft=no
165 support_unicode3=no
166 support_combining=no
167 support_8bitctrls=no
168 support_iso14755=no
169 support_styles=no
170 support_perl=no
171 codesets=
172 fi
173 if test x$enableval = xyes; then
174 support_frills=yes
175 support_inheritpixmap=yes
176 support_tinting=yes
177 support_fading=yes
178 support_keepscrolling=yes
179 support_selectionscrolling=yes
180 support_lastlog=yes
181 support_mousewheel=yes
182 support_mouseslipwheel=yes
183 support_text_blink=yes
184 support_pointer_blank=yes
185 support_scroll_rxvt=yes
186 support_scroll_next=yes
187 support_scroll_xterm=yes
188 support_scroll_plain=yes
189 support_utmp=yes
190 support_wtmp=yes
191 support_xim=yes
192 support_xpm=yes
193 support_afterimage=yes
194 support_afterstep=yes
195 support_xft=yes
196 support_unicode3=yes
197 support_combining=yes
198 #support_8bitctrls=yes
199 support_iso14755=yes
200 support_styles=yes
201 support_perl=yes
202 codesets=all
203 fi
204 ])
205
206 AC_ARG_ENABLE(unicode3,
207 [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters],
208 [if test x$enableval = xyes -o x$enableval = xno; then
209 support_unicode3=$enableval
210 fi])
211
212 AC_ARG_ENABLE(combining,
213 [ --enable-combining enable composition of base and combining characters],
214 [if test x$enableval = xyes -o x$enableval = xno; then
215 support_combining=$enableval
216 fi])
217
218 AC_ARG_ENABLE(xft,
219 [ --enable-xft enable xft support on systems that have it],
220 [if test x$enableval = xyes -o x$enableval = xno; then
221 support_xft=$enableval
222 fi])
223
224 AC_ARG_ENABLE(font-styles,
225 [ --enable-font-styles enable bold and italic support],
226 [if test x$enableval = xyes -o x$enableval = xno; then
227 support_styles=$enableval
228 fi])
229
230 AC_ARG_ENABLE(xpm-background,
231 [ --enable-xpm-background enable background pixmaps],
232 [if test x$enableval = xyes -o x$enableval = xno; then
233 support_xpm=$enableval
234 fi])
235
236 AC_ARG_ENABLE(afterimage,
237 [ --enable-afterimage enable integration with libAfterImage for background images],
238 [if test x$enableval = xyes -o x$enableval = xno; then
239 support_afterimage=$enableval
240 fi])
241
242 AC_ARG_WITH(afterimage_config,
243 [ --with-afterimage-config=DIR use libAfterImage config script in DIR],
244 [if test "x$withval" != x; then
245 afterimage_config=$withval/afterimage-config
246 fi])
247
248 AC_ARG_ENABLE(afterstep,
249 [ --enable-afterstep enable integration with AfterStep window manager],
250 [if test x$enableval = xyes -o x$enableval = xno; then
251 support_afterstep=$enableval
252 fi])
253
254 AC_ARG_ENABLE(transparency,
255 [ --enable-transparency enable transparent backgrounds],
256 [if test x$enableval = xyes -o x$enableval = xno; then
257 support_inheritpixmap=$enableval
258 fi])
259
260 AC_ARG_ENABLE(tinting,
261 [ --enable-tinting enable tinting of transparent bg],
262 [if test x$enableval = xyes -o x$enableval = xno; then
263 support_tinting=$enableval
264 fi])
265
266 AC_ARG_ENABLE(fading,
267 [ --enable-fading enable colors fading when off focus],
268 [if test x$enableval = xyes -o x$enableval = xno; then
269 support_fading=$enableval
270 fi])
271
272 AC_ARG_ENABLE(rxvt-scroll,
273 [ --enable-rxvt-scroll enable rxvt style scrollbar],
274 [if test x$enableval = xyes -o x$enableval = xno; then
275 support_scroll_rxvt=$enableval
276 fi])
277
278 AC_ARG_ENABLE(next-scroll,
279 [ --enable-next-scroll enable NeXT style scrollbar],
280 [if test x$enableval = xyes -o x$enableval = xno; then
281 support_scroll_next=$enableval
282 fi])
283
284 AC_ARG_ENABLE(xterm-scroll,
285 [ --enable-xterm-scroll enable Xterm style scrollbar],
286 [if test x$enableval = xyes -o x$enableval = xno; then
287 support_scroll_xterm=$enableval
288 fi])
289
290 AC_ARG_ENABLE(perl,
291 [ --enable-perl enable embedded perl interpreter],
292 [if test x$enableval = xyes -o x$enableval = xno; then
293 support_perl=$enableval
294 fi])
295
296 AC_ARG_ENABLE(plain-scroll,
297 [ --enable-plain-scroll enable plain style scrollbar],
298 [if test x$enableval = xyes -o x$enableval = xno; then
299 support_scroll_plain=$enableval
300 fi])
301
302 AC_ARG_WITH(codesets,
303 [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)],
304 [codesets="$withval"])
305
306 AC_ARG_ENABLE(xim,
307 [ --enable-xim XIM (X Input Method) protocol support],
308 [if test x$enableval = xyes -o x$enableval = xno; then
309 support_xim=$enableval
310 fi])
311
312 AC_ARG_ENABLE(backspace-key,
313 [ --disable-backspace-key disable handling of the backspace key],
314 [if test x$enableval = xno; then
315 AC_DEFINE(NO_BACKSPACE_KEY, 1, Define if you don't want support for the backspace key)
316 fi])
317
318 AC_ARG_ENABLE(delete-key,
319 [ --disable-delete-key disable handling of the delete key],
320 [if test x$enableval = xno; then
321 AC_DEFINE(NO_DELETE_KEY, 1, Define if you don't want support for the (non-keypad) delete key)
322 fi])
323
324 AC_ARG_ENABLE(resources,
325 [ --disable-resources disable all resource checking],
326 [if test x$enableval = xno; then
327 AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read)
328 fi])
329
330 AC_ARG_ENABLE(8bitctrls,
331 [ --enable-8bitctrls enable 8 bit control sequences (not recommended)],
332 [if test x$enableval = xyes -o x$enableval = xno; then
333 support_8bitctrls=$enableval
334 fi])
335
336 RESFALLBACK=Rxvt
337 AC_ARG_ENABLE(fallback,
338 [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)],
339 [
340 test x$enableval = xyes && enableval=Rxvt
341 test x$enableval = xno && enableval=
342 RESFALLBACK="$enableval"
343 ])
344
345 if test x$RESFALLBACK != x; then
346 AC_DEFINE_UNQUOTED(RESFALLBACK, "$RESFALLBACK", [Fallback resource class])
347 fi
348
349 RESNAME=urxvt
350 AC_ARG_WITH(res-name,
351 [ --with-res-name=NAME use this as default resource name (default: urxvt)],
352 [RESNAME="$withval"])
353 AC_DEFINE_UNQUOTED(RESNAME,"$RESNAME", [Default resource name])
354
355 RESCLASS=URxvt
356 AC_ARG_WITH(res-class,
357 [ --with-res-class=CLASS use this as the resource class (default: URxvt)],
358 [RESCLASS="$withval"])
359 AC_DEFINE_UNQUOTED(RESCLASS,"$RESCLASS", [Resource class])
360
361 RXVTNAME=urxvt
362 AC_ARG_WITH(name,
363 [ --with-name=NAME set the basename for the installed binaries (default: urxvt)],
364 [RXVTNAME="$withval"])
365 AC_DEFINE_UNQUOTED(RXVTNAME,"$RXVTNAME", [Binary base name])
366
367 RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"`
368 AC_SUBST(RXVTNAME)
369
370 AC_ARG_ENABLE(swapscreen,
371 [ --disable-swapscreen disable swap screen support],
372 [if test x$enableval = xno; then
373 AC_DEFINE(NO_SECONDARY_SCREEN, 1, Disable the secondary screen. Many programs use the secondary screen as their workplace)
374 fi])
375
376 AC_ARG_ENABLE(iso14755,
377 [ --enable-iso14755 enable support for extended ISO 14755 modes],
378 [if test x$enableval = xyes -o x$enableval = xno; then
379 support_iso14755=$enableval
380 fi])
381
382 AC_ARG_ENABLE(frills,
383 [ --enable-frills enable support for rarely used features],
384 [if test x$enableval = xyes -o x$enableval = xno; then
385 support_frills=$enableval
386 fi])
387
388 AC_ARG_ENABLE(keepscrolling,
389 [ --enable-keepscrolling enable continual scrolling on scrollbar arrow press],
390 [if test x$enableval = xyes -o x$enableval = xno; then
391 support_keepscrolling=$enableval
392 fi])
393
394 AC_ARG_ENABLE(selectionscrolling,
395 [ --enable-selectionscrolling enable scrolling during selections],
396 [if test x$enableval = xyes -o x$enableval = xno; then
397 support_selectionscrolling=$enableval
398 fi])
399
400 AC_ARG_ENABLE(mousewheel,
401 [ --enable-mousewheel enable scrolling via mouse wheel or buttons 4 & 5],
402 [if test x$enableval = xyes -o x$enableval = xno; then
403 support_mousewheel=$enableval
404 fi])
405
406 AC_ARG_ENABLE(slipwheeling,
407 [ --enable-slipwheeling enable slip wheel scrolling (requires previous)],
408 [if test x$enableval = xyes -o x$enableval = xno; then
409 support_mouseslipwheel=$enableval
410 fi])
411
412 AC_ARG_ENABLE(smart-resize,
413 [ --enable-smart-resize enable smart growth/shrink behaviour],
414 [if test x$enableval = xyes; then
415 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior)
416 fi])
417
418 AC_ARG_ENABLE(text-blink,
419 [ --enable-text-blink enable blinking text],
420 [if test x$enableval = xyes -o x$enableval = xno; then
421 support_text_blink=$enableval
422 fi])
423
424 AC_ARG_ENABLE(pointer-blank,
425 [ --enable-pointer-blank enable pointer blank when typing or inactive pointer],
426 [if test x$enableval = xyes -o x$enableval = xno; then
427 support_pointer_blank=$enableval
428 fi])
429
430 AC_ARG_WITH(term,
431 [ --with-term=NAME set the terminal to NAME (default: rxvt)],
432 [if test x$withval != x; then
433 AC_DEFINE_UNQUOTED(TERMENV, "$withval",Set TERM to the value given by configure) term="$withval"
434 fi])
435
436 AC_ARG_WITH(terminfo,
437 [ --with-terminfo=PATH set the path to the terminfo tree to PATH],
438 [if test x$withval != x; then
439 AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval"
440 fi])
441
442 dnl# --------------------------------------------------------------------------
443
444 AC_PATH_PROG(CP, cp, cp)
445 AC_PATH_PROG(SED, sed, sed)
446 AC_PATH_PROG(ECHO, echo, echo)
447 AC_PATH_PROG(TIC, tic)
448
449 dnl# need a neat way to detect SVR4 or its features
450 dnl# in src/command.c we use these functions:
451 dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h>
452 dnl# - but are these also defined for other systems?
453
454 dnl# hack to find if this is SVR4 -- who knows?
455 dnl## AC_MSG_CHECKING(for SVR4)
456 dnl## AC_EGREP_CPP(yes,
457 dnl## [#if defined (SVR4) || defined (_SVR4) || defined (__svr4__)
458 dnl## yes;
459 dnl## #endif
460 dnl## ], [AC_MSG_RESULT(yes); AC_DEFINE(PERHAPS_SVR4)], AC_MSG_RESULT(perhaps not?))
461
462 AC_PATH_XTRA
463
464 dnl# the only reasonable way to find libXpm is do-it-yourself
465 dnl# only check if we want xpm-background
466
467 LIBAFTERIMAGE_CFLAGS=
468 AFTERIMAGE_LIBS=
469 have_afterimage=
470
471 if test x$support_afterimage = xyes; then
472 support_afterimage=no
473
474 if test "x$afterimage_config" = "x" ; then
475 AC_PATH_PROG(afterimage_config, afterimage-config, no)
476 fi
477
478 AC_MSG_CHECKING(for libAfterImage)
479 if $afterimage_config --version >/dev/null 2>&1 ; then
480 LIBAFTERIMAGE_CFLAGS=`$afterimage_config --cflags`
481 AFTERIMAGE_LIBS=`$afterimage_config --libs`
482 if test "x$AFTERIMAGE_LIBS" != "x"; then
483 support_afterimage=yes
484 fi
485 fi
486
487 if test "x$support_afterimage" = "xyes"; then
488 AC_MSG_RESULT($AFTERIMAGE_LIBS)
489 else
490 AC_MSG_RESULT(no)
491 fi
492 fi
493
494 if test x$support_afterimage != xyes -a x$support_xpm = xyes ; then
495 VT_FIND_LIBXPM
496 if test x$no_xpm = xyes; then
497 support_xpm=needsmanualspecification
498 fi
499 fi
500
501 dnl# --------------------------------------------------------------------------
502 dnl# CHECKING FOR HEADER FILES
503 dnl# --------------------------------------------------------------------------
504 AC_HEADER_SYS_WAIT
505 AC_CHECK_HEADERS( \
506 assert.h \
507 fcntl.h \
508 stdarg.h \
509 stdlib.h \
510 string.h \
511 termios.h \
512 unistd.h \
513 sys/byteorder.h \
514 sys/ioctl.h \
515 sys/select.h \
516 sys/sockio.h \
517 sys/strredir.h \
518 sys/time.h \
519 stdint.h \
520 wchar.h \
521 cwchar \
522 clocale \
523 )
524
525 AC_HEADER_TIME
526
527 dnl# check to allow both <termios.h> and <sys/ioctl.h>
528 AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl,
529 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
530 #include <sys/ioctl.h>
531 #ifdef HAVE_TERMIOS_H
532 #include <termios.h>
533 #endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])])
534
535 dnl# ELF systems may want to store paths for dynamic libraries.
536 dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath"
537 dnl# At least one version of SunOS wants "-R path" but it's not checked yet.
538 if test -n "$GCC"; then
539 LDARG="-Wl,"
540 else
541 LDARG=""
542 fi
543 changequote(, )dnl
544 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-rpath '$LDARG'\1/g'
545 changequote([, ])dnl
546
547 ac_save_CFLAGS=$CFLAGS
548 ac_save_LIBS=$LIBS
549 CFLAGS="$CFLAGS $X_CFLAGS"
550 LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
551 AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath,
552 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
553 #include <stdlib.h>
554 main()
555 {
556 exit(0);
557 (void) XOpenDisplay("foobar");
558 }]])],[rxvt_cv_rpath=yes],[rxvt_cv_rpath=no],[dnl
559 AC_MSG_WARN(You may need to check the LIBS line)])])
560 if test x$rxvt_cv_rpath != xyes; then
561 changequote(, )dnl
562 R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g'
563 changequote([, ])dnl
564 LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"`
565 AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R,
566 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
567 #include <stdlib.h>
568 main()
569 {
570 exit(0);
571 (void) XOpenDisplay("foobar");
572 }]])],[rxvt_cv_R=yes],[rxvt_cv_R=no],[rxvt_cv_R=no])])
573 if test x$rxvt_cv_R != xyes; then
574 LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
575 fi
576 fi
577
578 AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer,
579 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])])
580 if test x$rxvt_cv_xpointer = xyes; then
581 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef)
582 fi
583 LIBS=$ac_save_LIBS
584 CFLAGS=$ac_save_CFLAGS
585
586 AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_xlib_illegal_access,
587 [AC_COMPILE_IFELSE(
588 [AC_LANG_PROGRAM([
589 #define XLIB_ILLEGAL_ACCESS
590 #include <X11/Xlib.h>
591 ],[
592 Display *dpy;
593 dpy->xdefaults = (char *)0;
594 ])],
595 [rxvt_xlib_illegal_access=yes],[rxvt_xlib_illegal_access=no]
596 )])
597 if test x$rxvt_xlib_illegal_access = xyes; then
598 AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it)
599 fi
600
601 AC_C_CONST
602 AC_C_INLINE
603
604 dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow.
605
606 dnl# --------------------------------------------------------------------------
607 dnl# CHECKING FOR MISSING TYPEDEFS
608 dnl# --------------------------------------------------------------------------
609 dnl# Missing typedefs and replacements
610 AC_TYPE_MODE_T
611 dnl> AC_CHECK_TYPE(umode_t, int)
612 dnl> AC_CHECK_TYPE(off_t, long)
613 AC_TYPE_PID_T
614 AC_TYPE_UID_T
615
616 AC_CHECK_SIZEOF(short, 2)
617 AC_CHECK_SIZEOF(int, 4)
618 dnl AC_CHECK_SIZEOF(long, 4)
619 AC_CHECK_SIZEOF(long long, 8)
620 AC_CHECK_SIZEOF(int *, 4)
621
622 dnl# see usage below
623 AC_DEFUN([RXVT_CHECK_SIZE],
624 [AC_CACHE_CHECK([for $2], $1,
625 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl
626 if test "$ac_cv_sizeof_char" -ge $3; then
627 $1="$4 char"
628 else
629 if test "$ac_cv_sizeof_short" -ge $3; then
630 $1="$4 short"
631 else
632 if test "$ac_cv_sizeof_int" -ge $3; then
633 $1="$4 int"
634 else
635 if test "$ac_cv_sizeof_long" -ge $3; then
636 $1="$4 long"
637 else
638 if test "$ac_cv_sizeof_long_long" -ge $3; then
639 $1="$4 long long"
640 else
641 $1="$4 $5" # we _must_ have a (possibly wrong) default
642 fi
643 fi
644 fi
645 fi
646 fi])])]
647 if test x"$$1" != xyes; then
648 $6="typedef $$1 $2;"
649 else
650 if test x"$4" = x; then
651 $6="/* typedef $5 $2; */"
652 else
653 $6="/* typedef $4 $5 $2; */"
654 fi
655 fi dnl
656 )
657 dnl#
658 dnl# Look for types the system may know about anyway.
659 dnl#
660 RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef)
661 AC_SUBST(rxvt_int16_typedef)
662 RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef)
663 AC_SUBST(rxvt_uint16_typedef)
664 RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef)
665 AC_SUBST(rxvt_int32_typedef)
666 RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef)
667 AC_SUBST(rxvt_uint32_typedef)
668 dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef)
669 dnl AC_SUBST(rxvt_int64_typedef)
670 dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef)
671 dnl AC_SUBST(rxvt_uint64_typedef)
672 dnl#
673 dnl# Now look for another we use
674 dnl#
675 if test "$ac_cv_sizeof_int_p" -eq 8; then
676 rxvt_intp_define="#define intp_t int64_t"
677 rxvt_u_intp_define="#define u_intp_t u_int64_t"
678 else
679 if test "$ac_cv_sizeof_int_p" -eq 4; then
680 rxvt_intp_define="#define intp_t int32_t"
681 rxvt_u_intp_define="#define u_intp_t u_int32_t"
682 else
683 if test "$ac_cv_sizeof_int_p" -eq 2; then
684 rxvt_intp_define="#define intp_t int16_t"
685 rxvt_u_intp_define="#define u_intp_t u_int16_t"
686 else
687 rxvt_intp_define="#error set intp_t"
688 rxvt_u_intp_define="#error set u_intp_t"
689 fi
690 fi
691 fi
692 AC_SUBST(rxvt_intp_define)
693 AC_SUBST(rxvt_u_intp_define)
694
695 dnl# --------------------------------------------------------------------------
696 dnl# CHECKING FOR LIBRARY FUNCTIONS
697 dnl# --------------------------------------------------------------------------
698 AC_TYPE_SIGNAL
699 dnl> AC_FUNC_VPRINTF
700
701 AC_CHECK_FUNCS( \
702 unsetenv \
703 setutent \
704 on_exit \
705 )
706
707 UTMP_CHECK
708
709 dnl# --------------------------------------------------------------------------
710
711 dnl# find ttys/ttytab
712 AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab,
713 [for ttys_file in dnl
714 /etc/ttys /etc/ttytab;
715 do
716 if test -f "$ttys_file" ; then
717 rxvt_cv_path_ttytab=$ttys_file
718 break
719 fi
720 done
721 ])
722 if test x$rxvt_cv_path_ttytab != x; then
723 AC_DEFINE_UNQUOTED(TTYTAB_FILENAME, "$rxvt_cv_path_ttytab", Define location of ttys/ttytab)
724 fi
725
726 dnl# --------------------------------------------------------------------------
727 dnl# --------------------------------------------------------------------------
728
729 dnl# this is a really hack test for some basic Xlocale stuff
730 ac_save_LIBS=$LIBS
731 ac_save_CFLAGS=$CFLAGS
732 CFLAGS="$CFLAGS $X_CFLAGS"
733 LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
734 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
735 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
736 fi
737 AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale,
738 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>
739 #include <stdlib.h>
740 main() {
741 char *p;
742 if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
743 exit (XSupportsLocale() ? 0 : 1);
744 else
745 exit (1);}]])],[dnl
746 rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl
747 AC_MSG_WARN(Define NO_XLOCALE in config.h manually)])])
748 if test x$rxvt_cv_func_xlocale = xyes; then
749 AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works)
750 fi
751
752 AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale,
753 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1
754 #include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])])
755 if test x$rxvt_cv_func_xsetlocale = xyes; then
756 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works)
757 fi
758 LIBS=$ac_save_LIBS
759 CFLAGS=$ac_save_CFLAGS
760
761 AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
762 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])])
763 if test x$rxvt_cv_func_setlocale = xyes; then
764 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works)
765 fi
766
767 AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo,
768 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])])
769 if test x$rxvt_cv_func_nl_langinfo = xyes; then
770 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works)
771 fi
772
773 SCM_RIGHTS_CHECK
774
775 AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb,
776 [AC_COMPILE_IFELSE([
777 #include <X11/Xlib.h>
778
779 void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3);
780
781 void f() {
782 XIMCallback cb;
783 cb.callback = im_destroy_cb;
784 }
785 ],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)])
786
787 if test x$rxvt_broken_ximcb = xyes; then
788 AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.)
789 fi
790
791 PTY_CHECK
792
793 TTY_GROUP_CHECK
794
795 dnl# --------------------------------------------------------------------------
796 dnl# now add and remove other stuff
797 dnl# --------------------------------------------------------------------------
798 if test x$support_xft = xyes; then
799 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
800 if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then
801 LIBS="$LIBS `$PKG_CONFIG xft --libs`"
802 CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`"
803 else
804 AC_PATH_PROG(XFT_CONFIG, xft-config, no)
805 if test $XFT_CONFIG != no; then
806 LIBS="$LIBS `$XFT_CONFIG --libs`"
807 CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`"
808 fi
809 fi
810
811 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no])
812 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no])
813
814 if test x$support_xft = xyes; then
815 AC_DEFINE(XFT, 1, Define to enable xft support)
816 fi
817 fi
818 if test x$support_styles = xyes; then
819 AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
820 fi
821 if test x$support_iso14755 = xyes; then
822 AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support)
823 fi
824 if test x$support_8bitctrls = xyes; then
825 AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences)
826 fi
827 if test x$support_fading = xyes; then
828 AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost)
829 fi
830 if test x$support_tinting = xyes; then
831 AC_DEFINE(TINTING, 1, Define if you want your background to be tinted)
832 fi
833 if test x$support_inheritpixmap = xyes; then
834 AC_DEFINE(TRANSPARENT, 1, Define if you want your background to use the parent window background)
835 fi
836 if test x$support_keepscrolling = xno; then
837 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed)
838 fi
839 if test x$support_selectionscrolling = xyes; then
840 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen)
841 fi
842 if test x$support_frills = xyes; then
843 AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features)
844 fi
845 if test x$support_mousewheel = xyes; then
846 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll)
847 fi
848 if test x$support_mouseslipwheel = xyes; then
849 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling)
850 fi
851 if test x$support_xim = xyes -o x$multichar_set = xyes; then
852 if test x$rxvt_cv_func_xlocale = xyes; then
853 AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input)
854 fi
855 fi
856 if test x$support_xpm = xyes -o x$support_afterimage = xyes ; then
857 AC_DEFINE(XPM_BACKGROUND, 1, Define if you want to have sexy-looking background pixmaps. Needs libXpm or libAfterImage)
858 fi
859
860 if test x$support_afterimage = xyes; then
861 AC_DEFINE(HAVE_AFTERIMAGE, 1, Define if you want to use libAfterImage for image processing)
862 fi
863
864 if test x$support_afterstep = xyes; then
865 AC_DEFINE(AFTERSTEP_INTEGRATION, 1, Define if you want to integrate with AfterStep window manager)
866 fi
867
868 if test x$support_scroll_rxvt = xyes; then
869 AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars)
870 scrolltypes="rxvt"
871 fi
872 if test x$support_scroll_next = xyes; then
873 AC_DEFINE(NEXT_SCROLLBAR, 1, Support NeXT style scrollbars)
874 scrolltypes="$scrolltypes next"
875 fi
876 if test x$support_scroll_xterm = xyes; then
877 AC_DEFINE(XTERM_SCROLLBAR, 1, Support Xterm style scrollbars)
878 scrolltypes="$scrolltypes xterm"
879 fi
880 if test x$support_scroll_plain = xyes; then
881 AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars)
882 scrolltypes="$scrolltypes plain"
883 fi
884 if test x$support_pointer_blank = xyes; then
885 AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing)
886 fi
887 if test x$support_text_blink = xyes; then
888 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
889 fi
890 if test x$support_unicode3 = xyes; then
891 AC_DEFINE(UNICODE_3, 1, Define if you want to represent unicode characters outside plane 0)
892 fi
893 if test x$support_combining = xyes; then
894 AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters)
895 fi
896 if test x$codesets = xall; then
897 codesets=jp,jp-ext,kr,zh,zh-ext
898 fi
899 AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets)
900 AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets)
901 for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do
902 case "$codeset" in
903 JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;;
904 JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;;
905 KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;;
906 ZH ) AC_DEFINE(ENCODING_ZH, 1, Define if you want chinese codesets) ;;
907 ZH_EXT ) AC_DEFINE(ENCODING_ZH_EXT, 1, Define if you want extended chinese codesets) ;;
908 esac
909 done
910
911 IF_PERL=\#
912 if test x$support_perl = xyes; then
913 AC_PATH_PROG(PERL, perl5)
914 AC_PATH_PROG(PERL, perl)
915
916 AC_MSG_CHECKING(for $PERL suitability)
917 if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then
918
919 save_CXXFLAGS="$CXXFLAGS"
920 save_LIBS="$LIBS"
921 CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`"
922 LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`"
923 AC_TRY_LINK([
924 #include <EXTERN.h>
925 #include <perl.h>
926 #include <XSUB.h>
927 ],[
928 PerlInterpreter *perl = perl_alloc ();
929 ],[rxvt_perl_link=yes],[rxvt_perl_link=no])
930 CXXFLAGS="$save_CXXFLAGS"
931 LIBS="$save_LIBS"
932
933 if test x$rxvt_perl_link = xyes; then
934 AC_MSG_RESULT(ok)
935 AC_DEFINE(ENABLE_PERL, 1, Define if you can embed a perl interpreter)
936 IF_PERL=
937 PERL_O=rxvtperl.o
938 PERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`"
939 PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`"
940 PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`"
941 else
942 AC_MSG_ERROR([no, unable to link])
943 fi
944 else
945 AC_MSG_ERROR([no working perl found, or perl not version >= 5.8])
946 fi
947 fi
948 AC_SUBST(PERLLIB)
949 AC_SUBST(PERLFLAGS)
950 AC_SUBST(PERLPRIVLIBEXP)
951 AC_SUBST(PERL)
952 AC_SUBST(IF_PERL)
953 AC_SUBST(PERL_O)
954
955 if test x$support_perl = xyes; then
956 support_frills=yes
957 fi
958
959 AC_SUBST(CFLAGS)
960 AC_SUBST(CPPFLAGS)
961 AC_SUBST(LDFLAGS)
962 AC_SUBST(X_CFLAGS)
963
964 dnl# Attack the libs
965 if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then
966 LIBS=`echo $LIBS | sed "$R_TRANSLATE"`
967 X_LIBS=`echo $X_LIBS | sed "$R_TRANSLATE"`
968 X_EXTRA_LIBS=`echo $X_EXTRA_LIBS | sed "$R_TRANSLATE"`
969 XPM_LIBS=`echo $XPM_LIBS | sed "$R_TRANSLATE"`
970 fi
971 AC_SUBST(LIBS)
972 AC_SUBST(X_LIBS)
973 AC_SUBST(X_EXTRA_LIBS)
974
975 AC_SUBST(LIBAFTERIMAGE_CFLAGS)
976 AC_SUBST(AFTERIMAGE_LIBS)
977
978 AC_ARG_PROGRAM
979
980 dnl# test for "sun" or "__sun__" before include sys_ioctl
981
982 dnl# revert HAVE_BLAH_H into a "#include <blah.h>"
983 AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl
984 [if test "$$3" = "$4" -o "$$5" = "$6"; then
985 $1="#include <$2>"
986 else
987 $1="/* #include <$2> */"
988 fi dnl
989 AC_SUBST($1)])
990
991 RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch)
992 RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch)
993 RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch)
994 RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch)
995 RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch)
996 RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch)
997 RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch)
998 RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch)
999 RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch)
1000 RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch)
1001 RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch)
1002 RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch)
1003 RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes)
1004
1005 AC_CONFIG_FILES([Makefile \
1006 doc/Makefile \
1007 src/Makefile \
1008 src/rxvtlib.h \
1009 ])
1010 AC_OUTPUT
1011
1012 echo "Configuration:
1013
1014 Rxvt version: $VERSION : $DATE
1015 Source code location: $srcdir
1016 Install path: ${prefix}/bin
1017 Compiler: $CXX
1018 Compiler flags: $CXXFLAGS
1019 Linker: $LINKER"
1020
1021 if test x$support_xpm = xyes; then
1022 echo " Xpm library: $XPM_LIBS"
1023 fi
1024
1025 if test x$support_afterimage = xyes; then
1026 echo " AfterImage support: yes"
1027 fi
1028
1029 if test x$support_afterstep = xyes; then
1030 echo " AfterStep integration: yes"
1031 fi
1032
1033 if test x$term != x; then
1034 echo " set TERM to: $term"
1035 fi
1036 if test x$terminfo != x; then
1037 echo " set TERMINFO to: $terminfo"
1038 fi
1039 echo " default resource name: $RESNAME"
1040 echo " resource class: $RESCLASS"
1041 if test x$RESFALLBACK != x; then
1042 echo " resource class fallback: $RESFALLBACK"
1043 fi
1044 echo
1045 echo " embedded perl: $support_perl"
1046 echo
1047 if test x$support_xpm = xneedsmanualspecification; then
1048 echo ".----------------------------------------------------------------."
1049 echo ". WARNING: --enable-xpm-background was specified however the ."
1050 echo ". XPM includes files and libraries could not be found. ."
1051 echo ". XPM backgrounds are now being DISABLED! If you want ."
1052 echo ". to use them you should rerun configure with the ."
1053 echo ". appropriate --with-xpm-includes=/path/to/xpm/includes ."
1054 echo ". and --with-xpm-library=/path/to/xpm/library lines. ."
1055 echo ".----------------------------------------------------------------."
1056 fi
1057 if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then
1058 echo ".----------------------------------------------------------------."
1059 echo ". WARNING: --enable-xim was specified however the locale support ."
1060 echo ". functions could not be found. ."
1061 echo ". XIM is now being DISABLED! ."
1062 echo ".----------------------------------------------------------------."
1063 fi
1064
1065 echo "*** Optionally check src/feature.h for further, rarely used options ***"
1066 echo
1067