… | |
… | |
9 | |
9 | |
10 | AC_CANONICAL_HOST |
10 | AC_CANONICAL_HOST |
11 | |
11 | |
12 | dnl RXVT version |
12 | dnl RXVT version |
13 | changequote(, )dnl |
13 | changequote(, )dnl |
14 | VERSION=`sed -n -e 's/^.*[ \t]VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` |
14 | VERSION=`sed -n -e 's/^.* VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` |
15 | DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` |
15 | DATE=`sed -n -e 's/^.* DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` |
16 | changequote([, ])dnl |
16 | changequote([, ])dnl |
17 | AC_SUBST(VERSION)dnl |
17 | AC_SUBST(VERSION)dnl |
18 | AC_SUBST(DATE)dnl |
18 | AC_SUBST(DATE)dnl |
19 | |
19 | |
20 | echo "" |
20 | echo "" |
… | |
… | |
24 | orig_CXXFLAGS="$CXXFLAGS" |
24 | orig_CXXFLAGS="$CXXFLAGS" |
25 | |
25 | |
26 | dnl# Checks for programs. |
26 | dnl# Checks for programs. |
27 | AC_PROG_CC |
27 | AC_PROG_CC |
28 | AC_PROG_CXX |
28 | AC_PROG_CXX |
29 | AC_PROG_CPP |
|
|
30 | AC_PROG_INSTALL |
29 | AC_PROG_INSTALL |
31 | |
30 | |
32 | AC_AIX |
31 | AC_AIX |
33 | AC_GNU_SOURCE |
32 | AC_GNU_SOURCE |
34 | AC_ISC_POSIX |
33 | AC_ISC_POSIX |
35 | AC_LANG(C++) |
34 | AC_LANG(C++) |
36 | |
35 | |
|
|
36 | LINKER="$CXX" |
37 | dnl check whether we can link with gcc -lsupc++ |
37 | dnl check whether we can link with gcc -lsupc++ |
38 | if test x$GCC = xyes && test x$GXX = xyes; then |
38 | if test x$GCC = xyes && test x$GXX = xyes; then |
39 | dnl FreeBSD (at least up to 5.3) has a broken GCC, workaround it |
39 | dnl FreeBSD (at least up to 5.3) has a broken GCC, workaround it |
40 | AC_MSG_CHECKING([for working libsupc++]) |
40 | AC_MSG_CHECKING([for working libsupc++]) |
41 | save_CXX="$CXX" |
41 | save_CXX="$CXX" |
42 | save_LIBS="$LIBS" |
42 | save_LIBS="$LIBS" |
43 | CXX="$CC" |
43 | CXX="$CC" |
44 | LIBS="$LIBS -lsupc++" |
44 | LIBS="$LIBS -lsupc++" |
45 | LINKER="$CC" |
|
|
46 | AC_LINK_IFELSE( |
45 | AC_LINK_IFELSE( |
47 | [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])], |
46 | [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])], |
48 | [AC_MSG_RESULT(ok)], |
47 | [AC_MSG_RESULT(ok) |
|
|
48 | LINKER="$CC"], |
49 | [ |
49 | [ |
50 | AC_MSG_RESULT([no, making everything bigger and slower]) |
50 | AC_MSG_RESULT([no, making everything bigger and slower]) |
51 | LIBS="$save_LIBS" |
51 | LIBS="$save_LIBS" |
52 | LINKER="$save_CXX" |
|
|
53 | ] |
52 | ] |
54 | ) |
53 | ) |
55 | CXX="$save_CXX" |
54 | CXX="$save_CXX" |
56 | fi |
55 | fi |
57 | AC_SUBST(LINKER,[$LINKER]) |
56 | AC_SUBST(LINKER,[$LINKER]) |
… | |
… | |
66 | else |
65 | else |
67 | CXXFLAGS="-O" |
66 | CXXFLAGS="-O" |
68 | fi |
67 | fi |
69 | CFLAGS="$CXXFLAGS" |
68 | CFLAGS="$CXXFLAGS" |
70 | fi |
69 | fi |
71 | |
|
|
72 | case $host in |
|
|
73 | *-*-solaris* ) |
|
|
74 | AC_DEFINE(_XOPEN_SOURCE, 500, Needed to get declarations for msg_control and msg_controllen on Solaris) |
|
|
75 | ;; |
|
|
76 | esac |
|
|
77 | |
70 | |
78 | dnl# FreeBSD needs to link libxpg4 |
71 | dnl# FreeBSD needs to link libxpg4 |
79 | AC_SEARCH_LIBS(setlocale, xpg4) |
72 | AC_SEARCH_LIBS(setlocale, xpg4) |
80 | |
73 | |
81 | dnl# solaris needs to link libnsl and socket |
74 | dnl# solaris needs to link libnsl and socket |
… | |
… | |
94 | support_scroll_rxvt=yes |
87 | support_scroll_rxvt=yes |
95 | support_scroll_next=yes |
88 | support_scroll_next=yes |
96 | support_scroll_xterm=yes |
89 | support_scroll_xterm=yes |
97 | support_xim=yes |
90 | support_xim=yes |
98 | support_pixbuf=yes |
91 | support_pixbuf=yes |
99 | support_afterimage=yes |
92 | support_startup_notification=yes |
100 | support_xft=yes |
93 | support_xft=yes |
101 | support_unicode3=no |
94 | support_unicode3=no |
102 | support_combining=yes |
95 | support_combining=yes |
103 | support_8bitctrls=no |
96 | support_8bitctrls=no |
104 | support_iso14755=yes |
97 | support_iso14755=yes |
… | |
… | |
130 | support_scroll_xterm=no |
123 | support_scroll_xterm=no |
131 | support_utmp=no |
124 | support_utmp=no |
132 | support_wtmp=no |
125 | support_wtmp=no |
133 | support_xim=no |
126 | support_xim=no |
134 | support_pixbuf=no |
127 | support_pixbuf=no |
135 | support_afterimage=no |
128 | support_startup_notification=no |
136 | support_xft=no |
129 | support_xft=no |
137 | support_unicode3=no |
130 | support_unicode3=no |
138 | support_combining=no |
131 | support_combining=no |
139 | support_8bitctrls=no |
132 | support_8bitctrls=no |
140 | support_iso14755=no |
133 | support_iso14755=no |
… | |
… | |
158 | support_scroll_xterm=yes |
151 | support_scroll_xterm=yes |
159 | support_utmp=yes |
152 | support_utmp=yes |
160 | support_wtmp=yes |
153 | support_wtmp=yes |
161 | support_xim=yes |
154 | support_xim=yes |
162 | support_pixbuf=yes |
155 | support_pixbuf=yes |
163 | support_afterimage=yes |
156 | support_startup_notification=yes |
164 | support_xft=yes |
157 | support_xft=yes |
165 | support_unicode3=yes |
158 | support_unicode3=yes |
166 | support_combining=yes |
159 | support_combining=yes |
167 | #support_8bitctrls=yes |
160 | #support_8bitctrls=yes |
168 | support_iso14755=yes |
161 | support_iso14755=yes |
… | |
… | |
170 | support_perl=yes |
163 | support_perl=yes |
171 | codesets=all |
164 | codesets=all |
172 | fi |
165 | fi |
173 | ]) |
166 | ]) |
174 | |
167 | |
175 | ASSERTIONS=no |
168 | support_assertions=no |
176 | AC_ARG_ENABLE(assert, |
169 | AC_ARG_ENABLE(assert, |
177 | [ --enable-assert enable assertions], |
170 | [ --enable-assert enable assertions], |
178 | [if test x$enableval = xyes; then |
171 | [if test x$enableval = xyes; then |
179 | ASSERTIONS=yes |
172 | support_assertions=yes |
180 | fi]) |
173 | fi]) |
181 | if test x$ASSERTIONS = xno; then |
174 | if test x$support_assertions = xno; then |
182 | AC_DEFINE(NDEBUG, 1, Disable assertions (good for debugging)) |
175 | AC_DEFINE(NDEBUG, 1, Disable assertions (good for debugging)) |
183 | fi |
176 | fi |
184 | |
177 | |
185 | WARNINGS=no |
178 | support_warnings=no |
186 | AC_ARG_ENABLE(warnings, |
179 | AC_ARG_ENABLE(warnings, |
187 | [ --enable-warnings turn on g++ warnings], |
180 | [ --enable-warnings turn on g++ warnings], |
188 | [if test x$enableval = xyes; then |
181 | [if test x$enableval = xyes; then |
189 | WARNINGS=yes |
182 | support_warnings=yes |
190 | fi]) |
183 | fi]) |
191 | if test x$GXX = xyes; then |
184 | if test x$GXX = xyes; then |
192 | if test $WARNINGS = yes; then |
185 | if test $support_warnings = yes; then |
193 | save_CXXFLAGS="$CXXFLAGS" |
186 | save_CXXFLAGS="$CXXFLAGS" |
194 | CXXFLAGS="$CXXFLAGS -Wall -Wno-sign-compare -Wno-reorder -Wno-non-virtual-dtor" |
187 | CXXFLAGS="$CXXFLAGS -Wall -Wno-sign-compare -Wno-reorder -Wno-unused-value" |
195 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="$save_CXXFLAGS"]) |
188 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="$save_CXXFLAGS"]) |
196 | else |
189 | else |
197 | CXXFLAGS="$CXXFLAGS -w" |
190 | CXXFLAGS="$CXXFLAGS -w" |
198 | fi |
191 | fi |
199 | fi |
192 | fi |
… | |
… | |
231 | [if test x$enableval = xyes -o x$enableval = xno; then |
224 | [if test x$enableval = xyes -o x$enableval = xno; then |
232 | support_styles=$enableval |
225 | support_styles=$enableval |
233 | fi]) |
226 | fi]) |
234 | |
227 | |
235 | AC_ARG_ENABLE(afterimage, |
228 | AC_ARG_ENABLE(afterimage, |
236 | [ --enable-afterimage enable integration with libAfterImage for background images], |
229 | [ --enable-afterimage enable integration with libAfterImage for background images (deprecated)], |
237 | [if test x$enableval = xyes -o x$enableval = xno; then |
230 | [if test x$enableval = xyes -o x$enableval = xno; then |
238 | support_afterimage=$enableval |
231 | support_afterimage=$enableval |
239 | fi]) |
232 | fi]) |
240 | |
233 | |
241 | AC_ARG_WITH(afterimage_config, |
234 | AC_ARG_WITH(afterimage_config, |
… | |
… | |
246 | |
239 | |
247 | AC_ARG_ENABLE(pixbuf, |
240 | AC_ARG_ENABLE(pixbuf, |
248 | [ --enable-pixbuf enable integration with gdk-pixbuf for background images], |
241 | [ --enable-pixbuf enable integration with gdk-pixbuf for background images], |
249 | [if test x$enableval = xyes -o x$enableval = xno; then |
242 | [if test x$enableval = xyes -o x$enableval = xno; then |
250 | support_pixbuf=$enableval |
243 | support_pixbuf=$enableval |
|
|
244 | fi]) |
|
|
245 | |
|
|
246 | AC_ARG_ENABLE(startup-notification, |
|
|
247 | [ --enable-startup-notification enable freedesktop startup notification support], |
|
|
248 | [if test x$enableval = xyes -o x$enableval = xno; then |
|
|
249 | support_startup_notification=$enableval |
251 | fi]) |
250 | fi]) |
252 | |
251 | |
253 | AC_ARG_ENABLE(transparency, |
252 | AC_ARG_ENABLE(transparency, |
254 | [ --enable-transparency enable transparent backgrounds], |
253 | [ --enable-transparency enable transparent backgrounds], |
255 | [if test x$enableval = xyes -o x$enableval = xno; then |
254 | [if test x$enableval = xyes -o x$enableval = xno; then |
… | |
… | |
463 | fi |
462 | fi |
464 | |
463 | |
465 | AC_SUBST(PIXBUF_CFLAGS) |
464 | AC_SUBST(PIXBUF_CFLAGS) |
466 | AC_SUBST(PIXBUF_LIBS) |
465 | AC_SUBST(PIXBUF_LIBS) |
467 | |
466 | |
|
|
467 | STARTUP_NOTIFICATION_CFLAGS= |
|
|
468 | STARTUP_NOTIFICATION_LIBS= |
|
|
469 | |
|
|
470 | if test x$support_startup_notification = xyes; then |
|
|
471 | support_startup_notification=no |
|
|
472 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
|
|
473 | AC_MSG_CHECKING(for libstartup-notification) |
|
|
474 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists libstartup-notification-1.0; then |
|
|
475 | STARTUP_NOTIFICATION_CFLAGS="`$PKG_CONFIG libstartup-notification-1.0 --cflags`" |
|
|
476 | STARTUP_NOTIFICATION_LIBS="`$PKG_CONFIG libstartup-notification-1.0 --libs`" |
|
|
477 | support_startup_notification=yes |
|
|
478 | fi |
|
|
479 | |
|
|
480 | if test x$support_startup_notification = xyes; then |
|
|
481 | AC_MSG_RESULT(ok) |
|
|
482 | AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1, Define if freedesktop startup notifications should be supported) |
|
|
483 | else |
|
|
484 | AC_MSG_RESULT(no) |
|
|
485 | fi |
|
|
486 | fi |
|
|
487 | |
|
|
488 | AC_SUBST(STARTUP_NOTIFICATION_CFLAGS) |
|
|
489 | AC_SUBST(STARTUP_NOTIFICATION_LIBS) |
|
|
490 | |
468 | AFTERIMAGE_CFLAGS= |
491 | AFTERIMAGE_CFLAGS= |
469 | AFTERIMAGE_LIBS= |
492 | AFTERIMAGE_LIBS= |
470 | AFTERIMAGE_VERSION= |
|
|
471 | |
493 | |
472 | if test x$support_afterimage = xyes; then |
494 | if test x$support_afterimage = xyes; then |
473 | support_afterimage=no |
495 | support_afterimage=no |
474 | |
496 | |
475 | if test "x$afterimage_config" = "x" ; then |
497 | if test "x$afterimage_config" = "x" ; then |
476 | AC_PATH_PROG(afterimage_config, afterimage-config, no) |
498 | AC_PATH_PROG(afterimage_config, afterimage-config, no) |
477 | fi |
499 | fi |
478 | if test "x$afterimage_config" != "xno" ; then |
500 | if test "x$afterimage_config" != "xno" ; then |
479 | AC_MSG_CHECKING(for libAfterImage version >= 1.15) |
501 | AC_MSG_CHECKING(for libAfterImage version >= 1.15) |
480 | xAFTERIMAGE_VERSION=`$afterimage_config --version` |
502 | AFTERIMAGE_VERSION=`$afterimage_config --version` |
481 | if test -n "$xAFTERIMAGE_VERSION" ; then |
503 | if test -n "$AFTERIMAGE_VERSION" ; then |
482 | xAFTERIMAGE_CFLAGS=`$afterimage_config --cflags` |
504 | AFTERIMAGE_CFLAGS=`$afterimage_config --cflags` |
483 | xAFTERIMAGE_LIBS=`$afterimage_config --libs` |
505 | AFTERIMAGE_LIBS=`$afterimage_config --libs` |
484 | if test "x$xAFTERIMAGE_LIBS" != "x"; then |
506 | if test "x$AFTERIMAGE_LIBS" != "x"; then |
485 | libai_ver_major=`echo $xAFTERIMAGE_VERSION | cut -f 1 -d .` |
507 | libai_ver_major=`echo $AFTERIMAGE_VERSION | cut -f 1 -d .` |
486 | libai_ver_minor=`echo $xAFTERIMAGE_VERSION | cut -f 2 -d .` |
508 | libai_ver_minor=`echo $AFTERIMAGE_VERSION | cut -f 2 -d .` |
487 | if test $libai_ver_major -gt 1 -o \( $libai_ver_major -eq 1 -a $libai_ver_minor -ge 15 \); then |
509 | if test $libai_ver_major -gt 1 -o \( $libai_ver_major -eq 1 -a $libai_ver_minor -ge 15 \); then |
488 | support_afterimage=yes |
510 | support_afterimage=yes |
489 | AFTERIMAGE_CFLAGS="$xAFTERIMAGE_CFLAGS" |
|
|
490 | AFTERIMAGE_LIBS="$xAFTERIMAGE_LIBS" |
|
|
491 | AFTERIMAGE_VERSION="$xAFTERIMAGE_VERSION" |
|
|
492 | fi |
511 | fi |
493 | fi |
512 | fi |
494 | fi |
513 | fi |
495 | if test "x$support_afterimage" = "xyes"; then |
514 | if test "x$support_afterimage" = "xyes"; then |
496 | AC_MSG_RESULT($AFTERIMAGE_LIBS) |
515 | AC_MSG_RESULT($AFTERIMAGE_LIBS) |
497 | image_lib=libafterimage |
516 | image_lib=libafterimage |
498 | AC_DEFINE(HAVE_AFTERIMAGE, 1, Define if you want to use libAfterImage for image processing) |
517 | AC_DEFINE(HAVE_AFTERIMAGE, 1, Define if you want to use libAfterImage for image processing) |
499 | AC_DEFINE(BG_IMAGE_FROM_FILE, 1, Define if you want to have sexy-looking background pixmaps.) |
518 | AC_DEFINE(BG_IMAGE_FROM_FILE, 1, Define if you want to have sexy-looking background pixmaps.) |
500 | else |
519 | else |
501 | AC_MSG_RESULT(no) |
520 | AC_MSG_RESULT(no) |
|
|
521 | AFTERIMAGE_CFLAGS= |
|
|
522 | AFTERIMAGE_LIBS= |
502 | fi |
523 | fi |
503 | fi |
524 | fi |
504 | fi |
525 | fi |
505 | |
526 | |
506 | AC_SUBST(AFTERIMAGE_CFLAGS) |
527 | AC_SUBST(AFTERIMAGE_CFLAGS) |
… | |
… | |
514 | sys/ioctl.h \ |
535 | sys/ioctl.h \ |
515 | sys/sockio.h \ |
536 | sys/sockio.h \ |
516 | sys/strredir.h \ |
537 | sys/strredir.h \ |
517 | stdint.h \ |
538 | stdint.h \ |
518 | wchar.h \ |
539 | wchar.h \ |
519 | cwchar \ |
|
|
520 | ) |
540 | ) |
521 | |
541 | |
522 | AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_cv_xlib_illegal_access, |
542 | AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_cv_xlib_illegal_access, |
523 | [AC_COMPILE_IFELSE( |
543 | [AC_COMPILE_IFELSE( |
524 | [AC_LANG_PROGRAM([ |
544 | [AC_LANG_PROGRAM([ |
… | |
… | |
563 | save_CFLAGS=$CFLAGS |
583 | save_CFLAGS=$CFLAGS |
564 | CFLAGS="$CFLAGS $X_CFLAGS" |
584 | CFLAGS="$CFLAGS $X_CFLAGS" |
565 | LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" |
585 | LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" |
566 | if test x$support_xim = xyes; then |
586 | if test x$support_xim = xyes; then |
567 | AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, |
587 | AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, |
568 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h> |
588 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
|
|
589 | #include <X11/Xlib.h> |
569 | #include <stdlib.h> |
590 | #include <stdlib.h> |
570 | main() { |
591 | int main() { |
571 | char *p; |
592 | char *p; |
572 | if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) |
593 | if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) |
573 | exit (XSupportsLocale() ? 0 : 1); |
594 | exit (XSupportsLocale() ? 0 : 1); |
574 | else |
595 | else |
575 | exit (1);}]])],[dnl |
596 | exit (1); |
|
|
597 | } |
576 | rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl |
598 | ]])],[rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[:])]) |
577 | :])]) |
|
|
578 | if test x$rxvt_cv_func_xlocale = xyes; then |
599 | if test x$rxvt_cv_func_xlocale = xyes; then |
579 | AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input) |
600 | AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input) |
580 | AC_CACHE_CHECK(for broken XIM callback, rxvt_cv_broken_ximcb, |
601 | AC_CACHE_CHECK(for broken XIM callback, rxvt_cv_broken_ximcb, |
581 | [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ |
602 | [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ |
582 | #include <X11/Xlib.h> |
603 | #include <X11/Xlib.h> |
… | |
… | |
601 | if test x$rxvt_cv_func_xsetlocale = xyes; then |
622 | if test x$rxvt_cv_func_xsetlocale = xyes; then |
602 | AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) |
623 | AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) |
603 | fi |
624 | fi |
604 | LIBS=$save_LIBS |
625 | LIBS=$save_LIBS |
605 | CFLAGS=$save_CFLAGS |
626 | CFLAGS=$save_CFLAGS |
606 | |
|
|
607 | AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale, |
|
|
608 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])]) |
|
|
609 | if test x$rxvt_cv_func_setlocale = xyes; then |
|
|
610 | AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works) |
|
|
611 | fi |
|
|
612 | |
627 | |
613 | AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, |
628 | AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, |
614 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])]) |
629 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])]) |
615 | if test x$rxvt_cv_func_nl_langinfo = xyes; then |
630 | if test x$rxvt_cv_func_nl_langinfo = xyes; then |
616 | AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) |
631 | AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) |