1 | dnl# |
1 | dnl# |
2 | dnl# Process this file with autoconf to produce a configure script. |
2 | dnl# Process this file with autoconf to produce a configure script. |
3 | dnl# |
3 | dnl# |
4 | |
4 | |
5 | AC_INIT |
5 | AC_INIT |
6 | AC_PREREQ(2.50) |
6 | AC_PREREQ(2.71) |
7 | AC_CONFIG_SRCDIR([src/feature.h]) |
7 | AC_CONFIG_SRCDIR([src/feature.h]) |
8 | AC_CONFIG_HEADER(config.h:config.h.in) |
8 | AC_CONFIG_HEADERS(config.h:config.h.in) |
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 |
… | |
… | |
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_INSTALL |
29 | AC_PROG_INSTALL |
30 | |
30 | |
31 | AC_AIX |
31 | AC_USE_SYSTEM_EXTENSIONS |
32 | AC_GNU_SOURCE |
|
|
33 | AC_ISC_POSIX |
|
|
34 | AC_LANG(C++) |
32 | AC_LANG(C++) |
|
|
33 | |
|
|
34 | if test "$ac_prog_cxx_stdcxx" != cxx11; then |
|
|
35 | AC_MSG_ERROR([the compiler does not support C++11]) |
|
|
36 | fi |
35 | |
37 | |
36 | LINKER="$CXX" |
38 | LINKER="$CXX" |
37 | dnl check whether we can link with gcc -lsupc++ |
39 | dnl check whether we can link with gcc -lsupc++ |
38 | if test x$GCC = xyes && test x$GXX = xyes; then |
40 | 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 |
41 | dnl FreeBSD (at least up to 5.3) has a broken GCC, workaround it |
… | |
… | |
293 | [ --disable-delete-key disable handling of the delete key], |
295 | [ --disable-delete-key disable handling of the delete key], |
294 | [if test x$enableval = xno; then |
296 | [if test x$enableval = xno; then |
295 | AC_DEFINE(NO_DELETE_KEY, 1, Define if you don't want support for the (non-keypad) delete key) |
297 | AC_DEFINE(NO_DELETE_KEY, 1, Define if you don't want support for the (non-keypad) delete key) |
296 | fi]) |
298 | fi]) |
297 | |
299 | |
|
|
300 | support_resources=yes |
298 | AC_ARG_ENABLE(resources, |
301 | AC_ARG_ENABLE(resources, |
299 | [ --disable-resources disable all resource checking], |
302 | [ --disable-resources disable all resource checking], |
300 | [if test x$enableval = xno; then |
303 | [if test x$enableval = xno; then |
301 | AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read) |
304 | support_resources=no |
302 | fi]) |
305 | fi]) |
303 | |
306 | |
304 | AC_ARG_ENABLE(8bitctrls, |
307 | AC_ARG_ENABLE(8bitctrls, |
305 | [ --enable-8bitctrls enable 8 bit control sequences (not recommended)], |
308 | [ --enable-8bitctrls enable 8 bit control sequences (not recommended)], |
306 | [if test x$enableval = xyes -o x$enableval = xno; then |
309 | [if test x$enableval = xyes -o x$enableval = xno; then |
… | |
… | |
410 | [ --with-terminfo=PATH set the path to the terminfo tree to PATH], |
413 | [ --with-terminfo=PATH set the path to the terminfo tree to PATH], |
411 | [if test x$withval != x; then |
414 | [if test x$withval != x; then |
412 | AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval" |
415 | AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval" |
413 | fi]) |
416 | fi]) |
414 | |
417 | |
|
|
418 | if test x$support_resources = xno; then |
|
|
419 | if test x$support_frills = xyes || test x$support_perl = xyes; then |
|
|
420 | AC_MSG_ERROR([--disable-resources requires --disable-frills --disable-perl]) |
|
|
421 | fi |
|
|
422 | |
|
|
423 | AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read) |
|
|
424 | fi |
|
|
425 | |
415 | dnl# -------------------------------------------------------------------------- |
426 | dnl# -------------------------------------------------------------------------- |
416 | |
427 | |
417 | LIBEV_M4_AVOID_LIBRT=1 |
428 | LIBEV_M4_AVOID_LIBRT=1 |
418 | m4_include([libev/libev.m4]) |
429 | m4_include([libev/libev.m4]) |
419 | |
430 | |
… | |
… | |
421 | |
432 | |
422 | AC_PATH_PROG(TIC, tic, :) |
433 | AC_PATH_PROG(TIC, tic, :) |
423 | |
434 | |
424 | AC_PATH_XTRA |
435 | AC_PATH_XTRA |
425 | |
436 | |
|
|
437 | AC_PATH_TOOL(PKG_CONFIG, pkg-config, no) |
|
|
438 | |
|
|
439 | RXVT_CHECK_MODULES([PTYTTY], [libptytty], [:], [ |
|
|
440 | AC_MSG_ERROR([unable to find libptytty]) |
|
|
441 | ]) |
|
|
442 | |
|
|
443 | AC_SUBST(PTYTTY_CFLAGS) |
|
|
444 | AC_SUBST(PTYTTY_LIBS) |
|
|
445 | |
|
|
446 | image_lib=none |
|
|
447 | |
|
|
448 | PIXBUF_CFLAGS= |
|
|
449 | PIXBUF_LIBS= |
|
|
450 | |
|
|
451 | if test x$support_pixbuf = xyes; then |
|
|
452 | RXVT_CHECK_MODULES([PIXBUF], [gdk-pixbuf-2.0], [ |
|
|
453 | image_lib=gdk-pixbuf |
|
|
454 | AC_DEFINE(HAVE_PIXBUF, 1, Define if you want to use gdk-pixbuf for image processing) |
|
|
455 | ], [:]) |
|
|
456 | fi |
|
|
457 | |
|
|
458 | AC_SUBST(PIXBUF_CFLAGS) |
|
|
459 | AC_SUBST(PIXBUF_LIBS) |
|
|
460 | |
426 | STARTUP_NOTIFICATION_CFLAGS= |
461 | STARTUP_NOTIFICATION_CFLAGS= |
427 | STARTUP_NOTIFICATION_LIBS= |
462 | STARTUP_NOTIFICATION_LIBS= |
428 | |
463 | |
429 | if test x$support_startup_notification = xyes; then |
464 | if test x$support_startup_notification = xyes; then |
430 | support_startup_notification=no |
465 | RXVT_CHECK_MODULES([STARTUP_NOTIFICATION], [libstartup-notification-1.0], [ |
431 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
|
|
432 | AC_MSG_CHECKING(for libstartup-notification) |
|
|
433 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists libstartup-notification-1.0; then |
|
|
434 | STARTUP_NOTIFICATION_CFLAGS="`$PKG_CONFIG libstartup-notification-1.0 --cflags`" |
|
|
435 | STARTUP_NOTIFICATION_LIBS="`$PKG_CONFIG libstartup-notification-1.0 --libs`" |
|
|
436 | support_startup_notification=yes |
|
|
437 | fi |
|
|
438 | |
|
|
439 | if test x$support_startup_notification = xyes; then |
|
|
440 | AC_MSG_RESULT(ok) |
|
|
441 | AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1, Define if freedesktop startup notifications should be supported) |
466 | AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1, Define if freedesktop startup notifications should be supported) |
442 | else |
467 | ], [:]) |
443 | AC_MSG_RESULT(no) |
|
|
444 | fi |
|
|
445 | fi |
468 | fi |
446 | |
469 | |
447 | AC_SUBST(STARTUP_NOTIFICATION_CFLAGS) |
470 | AC_SUBST(STARTUP_NOTIFICATION_CFLAGS) |
448 | AC_SUBST(STARTUP_NOTIFICATION_LIBS) |
471 | AC_SUBST(STARTUP_NOTIFICATION_LIBS) |
|
|
472 | |
|
|
473 | if test x$support_frills = xyes; then |
|
|
474 | RXVT_CHECK_MODULES([XMU], [xmu], [ |
|
|
475 | X_LIBS="$XMU_LIBS $X_LIBS" |
|
|
476 | CPPFLAGS="$CPPFLAGS $XMU_CFLAGS" |
|
|
477 | AC_DEFINE(HAVE_XMU, 1, Define to enable Xmu support) |
|
|
478 | ], [:]) |
|
|
479 | fi |
449 | |
480 | |
450 | dnl# -------------------------------------------------------------------------- |
481 | dnl# -------------------------------------------------------------------------- |
451 | dnl# CHECKING FOR HEADER FILES |
482 | dnl# CHECKING FOR HEADER FILES |
452 | dnl# -------------------------------------------------------------------------- |
483 | dnl# -------------------------------------------------------------------------- |
453 | AC_CHECK_HEADERS( \ |
484 | AC_CHECK_HEADERS( \ |
… | |
… | |
489 | dnl# -------------------------------------------------------------------------- |
520 | dnl# -------------------------------------------------------------------------- |
490 | dnl# CHECKING FOR LIBRARY FUNCTIONS |
521 | dnl# CHECKING FOR LIBRARY FUNCTIONS |
491 | dnl# -------------------------------------------------------------------------- |
522 | dnl# -------------------------------------------------------------------------- |
492 | AC_CHECK_FUNCS(unsetenv) |
523 | AC_CHECK_FUNCS(unsetenv) |
493 | |
524 | |
494 | UTMP_CHECK |
|
|
495 | |
|
|
496 | dnl# -------------------------------------------------------------------------- |
525 | dnl# -------------------------------------------------------------------------- |
497 | |
526 | |
498 | dnl# -------------------------------------------------------------------------- |
527 | dnl# -------------------------------------------------------------------------- |
499 | dnl# -------------------------------------------------------------------------- |
528 | dnl# -------------------------------------------------------------------------- |
500 | |
529 | |
501 | dnl# this is a really hack test for some basic Xlocale stuff |
530 | dnl# this is a really hack test for some basic Xlocale stuff |
502 | save_LIBS=$LIBS |
531 | save_LIBS=$LIBS |
503 | save_CFLAGS=$CFLAGS |
532 | save_CXXFLAGS=$CXXFLAGS |
504 | CFLAGS="$CFLAGS $X_CFLAGS" |
533 | CXXFLAGS="$CXXFLAGS $X_CFLAGS" |
505 | LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" |
534 | LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" |
506 | if test x$support_xim = xyes; then |
535 | if test x$support_xim = xyes; then |
507 | AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, |
536 | AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, |
508 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
537 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
509 | #include <X11/Xlib.h> |
538 | #include <X11/Xlib.h> |
… | |
… | |
541 | #include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])]) |
570 | #include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])]) |
542 | if test x$rxvt_cv_func_xsetlocale = xyes; then |
571 | if test x$rxvt_cv_func_xsetlocale = xyes; then |
543 | AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) |
572 | AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) |
544 | fi |
573 | fi |
545 | LIBS=$save_LIBS |
574 | LIBS=$save_LIBS |
546 | CFLAGS=$save_CFLAGS |
575 | CXXFLAGS=$save_CXXFLAGS |
547 | |
576 | |
548 | AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, |
577 | AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, |
549 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])]) |
578 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])]) |
550 | if test x$rxvt_cv_func_nl_langinfo = xyes; then |
579 | if test x$rxvt_cv_func_nl_langinfo = xyes; then |
551 | AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) |
580 | AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) |
552 | fi |
581 | fi |
553 | |
582 | |
554 | SCM_RIGHTS_CHECK |
|
|
555 | |
|
|
556 | PTY_CHECK |
|
|
557 | |
|
|
558 | TTY_GROUP_CHECK |
|
|
559 | |
|
|
560 | dnl# -------------------------------------------------------------------------- |
583 | dnl# -------------------------------------------------------------------------- |
561 | dnl# now add and remove other stuff |
584 | dnl# now add and remove other stuff |
562 | dnl# -------------------------------------------------------------------------- |
585 | dnl# -------------------------------------------------------------------------- |
563 | support_image=no |
586 | support_image=no |
564 | if test x$support_inheritpixmap = xyes || test x$support_pixbuf = xyes; then |
587 | if test x$support_inheritpixmap = xyes || test x$support_pixbuf = xyes; then |
565 | support_image=yes |
588 | support_image=yes |
566 | fi |
589 | fi |
567 | if test x$support_xft = xyes || test x$support_image = xyes; then |
590 | if test x$support_xft = xyes || test x$support_image = xyes; then |
568 | rxvt_have_xrender=no |
591 | rxvt_have_xrender=no |
569 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
592 | RXVT_CHECK_MODULES([XRENDER], [xrender], [ |
570 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists xrender; then |
593 | X_LIBS="$XRENDER_LIBS $X_LIBS" |
571 | X_LIBS="`$PKG_CONFIG xrender --libs` $X_LIBS" |
594 | CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS" |
572 | CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xrender --cflags`" |
|
|
573 | rxvt_have_xrender=yes |
595 | rxvt_have_xrender=yes |
574 | |
596 | |
575 | save_LIBS="$LIBS" |
597 | save_LIBS="$LIBS" |
576 | LIBS="$LIBS $X_LIBS" |
598 | LIBS="$LIBS $X_LIBS" |
577 | AC_CHECK_HEADER(X11/extensions/Xrender.h,,[rxvt_have_xrender=no]) |
599 | AC_CHECK_HEADER(X11/extensions/Xrender.h,,[rxvt_have_xrender=no]) |
578 | AC_CHECK_FUNC(XRenderFindStandardFormat,,[rxvt_have_xrender=no]) |
600 | AC_CHECK_FUNC(XRenderFindStandardFormat,,[rxvt_have_xrender=no]) |
579 | LIBS="$save_LIBS" |
601 | LIBS="$save_LIBS" |
580 | fi |
602 | ], [:]) |
581 | fi |
603 | fi |
582 | |
604 | |
583 | if test x$support_xft = xyes && test x$rxvt_have_xrender = xyes; then |
605 | if test x$support_xft = xyes && test x$rxvt_have_xrender = xyes; then |
584 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
606 | RXVT_CHECK_MODULES([XFT], [fontconfig xft], [ |
585 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then |
607 | X_LIBS="$XFT_LIBS $X_LIBS" |
586 | X_LIBS="`$PKG_CONFIG xft --libs` $X_LIBS" |
608 | CPPFLAGS="$CPPFLAGS $XFT_CFLAGS" |
587 | CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`" |
609 | ], [ |
588 | else |
|
|
589 | AC_PATH_PROG(XFT_CONFIG, xft-config, no) |
610 | AC_PATH_PROG(XFT_CONFIG, xft-config, no) |
590 | if test $XFT_CONFIG != no; then |
611 | if test $XFT_CONFIG != no; then |
591 | X_LIBS="`$XFT_CONFIG --libs` $X_LIBS" |
612 | X_LIBS="`$XFT_CONFIG --libs` $X_LIBS" |
592 | CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`" |
613 | CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`" |
593 | fi |
614 | fi |
594 | fi |
615 | ]) |
595 | |
|
|
596 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists fontconfig; then |
|
|
597 | X_LIBS="`$PKG_CONFIG fontconfig --libs` $X_LIBS" |
|
|
598 | CPPFLAGS="$CPPFLAGS `$PKG_CONFIG fontconfig --cflags`" |
|
|
599 | fi |
|
|
600 | |
616 | |
601 | save_LIBS="$LIBS" |
617 | save_LIBS="$LIBS" |
602 | LIBS="$LIBS $X_LIBS" |
618 | LIBS="$LIBS $X_LIBS" |
603 | AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no]) |
|
|
604 | AC_CHECK_LIB(Xft,XftDrawString32,:,[support_xft=no]) |
|
|
605 | AC_CHECK_HEADERS(fontconfig/fontconfig.h,,[support_xft=no]) |
619 | AC_CHECK_HEADERS(X11/Xft/Xft.h fontconfig/fontconfig.h,,[support_xft=no]) |
606 | AC_CHECK_LIB(fontconfig,FcPatternGet,:,[support_xft=no]) |
620 | AC_CHECK_FUNCS(XftDrawString32 FcPatternGet,,[support_xft=no]) |
607 | LIBS="$save_LIBS" |
621 | LIBS="$save_LIBS" |
608 | |
622 | |
609 | if test x$support_xft = xyes; then |
623 | if test x$support_xft = xyes; then |
610 | AC_DEFINE(XFT, 1, Define to enable xft support) |
624 | AC_DEFINE(XFT, 1, Define to enable xft support) |
611 | fi |
625 | fi |
612 | fi |
626 | fi |
613 | |
627 | |
614 | image_lib=none |
|
|
615 | |
|
|
616 | PIXBUF_CFLAGS= |
|
|
617 | PIXBUF_LIBS= |
|
|
618 | |
|
|
619 | if test x$support_image = xyes && test x$rxvt_have_xrender = xyes; then |
628 | if test x$support_image = xyes && test x$rxvt_have_xrender = xyes; then |
|
|
629 | AC_MSG_CHECKING(for Render >= 0.11) |
|
|
630 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
|
|
631 | #include <X11/extensions/Xrender.h> |
|
|
632 | #if RENDER_MAJOR == 0 && RENDER_MINOR <= 10 |
|
|
633 | error |
|
|
634 | #endif |
|
|
635 | ]])],[],[support_image=no]) |
|
|
636 | if test x$support_image = xyes; then |
|
|
637 | AC_MSG_RESULT(ok) |
620 | LIBS="$LIBS -lm" |
638 | LIBS="$LIBS -lm" |
621 | AC_DEFINE(XRENDER, 1, Define to enable xrender support) |
639 | AC_DEFINE(XRENDER, 1, Define to enable xrender support) |
622 | |
640 | |
623 | if test x$support_inheritpixmap = xyes; then |
641 | if test x$support_inheritpixmap = xyes; then |
624 | AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background) |
642 | AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background) |
|
|
643 | fi |
|
|
644 | else |
|
|
645 | AC_MSG_RESULT(no) |
625 | fi |
646 | fi |
626 | |
|
|
627 | if test x$support_pixbuf = xyes; then |
|
|
628 | support_pixbuf=no |
|
|
629 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
|
|
630 | AC_MSG_CHECKING(for gdk-pixbuf) |
|
|
631 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists gdk-pixbuf-2.0; then |
|
|
632 | PIXBUF_CFLAGS="`$PKG_CONFIG gdk-pixbuf-2.0 --cflags`" |
|
|
633 | PIXBUF_LIBS="`$PKG_CONFIG gdk-pixbuf-2.0 --libs`" |
|
|
634 | support_pixbuf=yes |
|
|
635 | fi |
|
|
636 | |
|
|
637 | if test x$support_pixbuf = xyes; then |
|
|
638 | AC_MSG_RESULT(ok) |
|
|
639 | image_lib=gdk-pixbuf |
|
|
640 | AC_DEFINE(HAVE_PIXBUF, 1, Define if you want to use gdk-pixbuf for image processing) |
|
|
641 | AC_DEFINE(BG_IMAGE_FROM_FILE, 1, Define if you want to have sexy-looking background pixmaps.) |
|
|
642 | else |
|
|
643 | AC_MSG_RESULT(no) |
|
|
644 | fi |
|
|
645 | fi |
|
|
646 | fi |
647 | fi |
647 | |
|
|
648 | AC_SUBST(PIXBUF_CFLAGS) |
|
|
649 | AC_SUBST(PIXBUF_LIBS) |
|
|
650 | |
648 | |
651 | if test x$support_styles = xyes; then |
649 | if test x$support_styles = xyes; then |
652 | AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support) |
650 | AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support) |
653 | fi |
651 | fi |
654 | if test x$support_iso14755 = xyes; then |
652 | if test x$support_iso14755 = xyes; then |