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