ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/configure.ac
Revision: 1.58
Committed: Tue Jun 26 19:47:00 2007 UTC (16 years, 11 months ago) by ayin
Branch: MAIN
Changes since 1.57: +0 -43 lines
Log Message:
*** empty log message ***

File Contents

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