ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/configure.ac
Revision: 1.69
Committed: Wed Aug 1 18:38:15 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
CVS Tags: rel-8_3
Changes since 1.68: +21 -16 lines
Log Message:
fix lots of configure bugs

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