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 | |
426 | image_lib=none |
446 | image_lib=none |
427 | |
447 | |
428 | PIXBUF_CFLAGS= |
448 | PIXBUF_CFLAGS= |
429 | PIXBUF_LIBS= |
449 | PIXBUF_LIBS= |
430 | |
450 | |
431 | if test x$support_pixbuf = xyes; then |
451 | if test x$support_pixbuf = xyes; then |
432 | support_pixbuf=no |
452 | RXVT_CHECK_MODULES([PIXBUF], [gdk-pixbuf-2.0], [ |
433 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
|
|
434 | AC_MSG_CHECKING(for gdk-pixbuf) |
|
|
435 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists gdk-pixbuf-2.0; then |
|
|
436 | PIXBUF_CFLAGS="`$PKG_CONFIG gdk-pixbuf-2.0 --cflags`" |
|
|
437 | PIXBUF_LIBS="`$PKG_CONFIG gdk-pixbuf-2.0 --libs`" |
|
|
438 | support_pixbuf=yes |
|
|
439 | fi |
|
|
440 | |
|
|
441 | if test x$support_pixbuf = xyes; then |
|
|
442 | AC_MSG_RESULT(ok) |
|
|
443 | image_lib=gdk-pixbuf |
453 | image_lib=gdk-pixbuf |
444 | AC_DEFINE(HAVE_PIXBUF, 1, Define if you want to use gdk-pixbuf for image processing) |
454 | AC_DEFINE(HAVE_PIXBUF, 1, Define if you want to use gdk-pixbuf for image processing) |
445 | else |
455 | ], [:]) |
446 | AC_MSG_RESULT(no) |
|
|
447 | fi |
|
|
448 | fi |
456 | fi |
449 | |
457 | |
450 | AC_SUBST(PIXBUF_CFLAGS) |
458 | AC_SUBST(PIXBUF_CFLAGS) |
451 | AC_SUBST(PIXBUF_LIBS) |
459 | AC_SUBST(PIXBUF_LIBS) |
452 | |
460 | |
453 | STARTUP_NOTIFICATION_CFLAGS= |
461 | STARTUP_NOTIFICATION_CFLAGS= |
454 | STARTUP_NOTIFICATION_LIBS= |
462 | STARTUP_NOTIFICATION_LIBS= |
455 | |
463 | |
456 | if test x$support_startup_notification = xyes; then |
464 | if test x$support_startup_notification = xyes; then |
457 | support_startup_notification=no |
465 | RXVT_CHECK_MODULES([STARTUP_NOTIFICATION], [libstartup-notification-1.0], [ |
458 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
|
|
459 | AC_MSG_CHECKING(for libstartup-notification) |
|
|
460 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists libstartup-notification-1.0; then |
|
|
461 | STARTUP_NOTIFICATION_CFLAGS="`$PKG_CONFIG libstartup-notification-1.0 --cflags`" |
|
|
462 | STARTUP_NOTIFICATION_LIBS="`$PKG_CONFIG libstartup-notification-1.0 --libs`" |
|
|
463 | support_startup_notification=yes |
|
|
464 | fi |
|
|
465 | |
|
|
466 | if test x$support_startup_notification = xyes; then |
|
|
467 | AC_MSG_RESULT(ok) |
|
|
468 | 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) |
469 | else |
467 | ], [:]) |
470 | AC_MSG_RESULT(no) |
|
|
471 | fi |
|
|
472 | fi |
468 | fi |
473 | |
469 | |
474 | AC_SUBST(STARTUP_NOTIFICATION_CFLAGS) |
470 | AC_SUBST(STARTUP_NOTIFICATION_CFLAGS) |
475 | 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 |
476 | |
480 | |
477 | dnl# -------------------------------------------------------------------------- |
481 | dnl# -------------------------------------------------------------------------- |
478 | dnl# CHECKING FOR HEADER FILES |
482 | dnl# CHECKING FOR HEADER FILES |
479 | dnl# -------------------------------------------------------------------------- |
483 | dnl# -------------------------------------------------------------------------- |
480 | AC_CHECK_HEADERS( \ |
484 | AC_CHECK_HEADERS( \ |
… | |
… | |
516 | dnl# -------------------------------------------------------------------------- |
520 | dnl# -------------------------------------------------------------------------- |
517 | dnl# CHECKING FOR LIBRARY FUNCTIONS |
521 | dnl# CHECKING FOR LIBRARY FUNCTIONS |
518 | dnl# -------------------------------------------------------------------------- |
522 | dnl# -------------------------------------------------------------------------- |
519 | AC_CHECK_FUNCS(unsetenv) |
523 | AC_CHECK_FUNCS(unsetenv) |
520 | |
524 | |
521 | UTMP_CHECK |
|
|
522 | |
|
|
523 | dnl# -------------------------------------------------------------------------- |
525 | dnl# -------------------------------------------------------------------------- |
524 | |
526 | |
525 | dnl# -------------------------------------------------------------------------- |
527 | dnl# -------------------------------------------------------------------------- |
526 | dnl# -------------------------------------------------------------------------- |
528 | dnl# -------------------------------------------------------------------------- |
527 | |
529 | |
528 | 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 |
529 | save_LIBS=$LIBS |
531 | save_LIBS=$LIBS |
530 | save_CFLAGS=$CFLAGS |
532 | save_CXXFLAGS=$CXXFLAGS |
531 | CFLAGS="$CFLAGS $X_CFLAGS" |
533 | CXXFLAGS="$CXXFLAGS $X_CFLAGS" |
532 | LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" |
534 | LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" |
533 | if test x$support_xim = xyes; then |
535 | if test x$support_xim = xyes; then |
534 | AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, |
536 | AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, |
535 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
537 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
536 | #include <X11/Xlib.h> |
538 | #include <X11/Xlib.h> |
… | |
… | |
568 | #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])]) |
569 | if test x$rxvt_cv_func_xsetlocale = xyes; then |
571 | if test x$rxvt_cv_func_xsetlocale = xyes; then |
570 | 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) |
571 | fi |
573 | fi |
572 | LIBS=$save_LIBS |
574 | LIBS=$save_LIBS |
573 | CFLAGS=$save_CFLAGS |
575 | CXXFLAGS=$save_CXXFLAGS |
574 | |
576 | |
575 | 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, |
576 | [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])]) |
577 | if test x$rxvt_cv_func_nl_langinfo = xyes; then |
579 | if test x$rxvt_cv_func_nl_langinfo = xyes; then |
578 | 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) |
579 | fi |
581 | fi |
580 | |
582 | |
581 | SCM_RIGHTS_CHECK |
|
|
582 | |
|
|
583 | PTY_CHECK |
|
|
584 | |
|
|
585 | TTY_GROUP_CHECK |
|
|
586 | |
|
|
587 | dnl# -------------------------------------------------------------------------- |
583 | dnl# -------------------------------------------------------------------------- |
588 | dnl# now add and remove other stuff |
584 | dnl# now add and remove other stuff |
589 | dnl# -------------------------------------------------------------------------- |
585 | dnl# -------------------------------------------------------------------------- |
590 | support_image=no |
586 | support_image=no |
591 | 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 |
592 | support_image=yes |
588 | support_image=yes |
593 | fi |
589 | fi |
594 | 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 |
595 | rxvt_have_xrender=no |
591 | rxvt_have_xrender=no |
596 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
592 | RXVT_CHECK_MODULES([XRENDER], [xrender], [ |
597 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists xrender; then |
593 | X_LIBS="$XRENDER_LIBS $X_LIBS" |
598 | X_LIBS="`$PKG_CONFIG xrender --libs` $X_LIBS" |
594 | CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS" |
599 | CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xrender --cflags`" |
|
|
600 | rxvt_have_xrender=yes |
595 | rxvt_have_xrender=yes |
601 | |
596 | |
602 | save_LIBS="$LIBS" |
597 | save_LIBS="$LIBS" |
603 | LIBS="$LIBS $X_LIBS" |
598 | LIBS="$LIBS $X_LIBS" |
604 | AC_CHECK_HEADER(X11/extensions/Xrender.h,,[rxvt_have_xrender=no]) |
599 | AC_CHECK_HEADER(X11/extensions/Xrender.h,,[rxvt_have_xrender=no]) |
605 | AC_CHECK_FUNC(XRenderFindStandardFormat,,[rxvt_have_xrender=no]) |
600 | AC_CHECK_FUNC(XRenderFindStandardFormat,,[rxvt_have_xrender=no]) |
606 | LIBS="$save_LIBS" |
601 | LIBS="$save_LIBS" |
607 | fi |
602 | ], [:]) |
608 | fi |
603 | fi |
609 | |
604 | |
610 | 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 |
611 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
606 | RXVT_CHECK_MODULES([XFT], [fontconfig xft], [ |
612 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then |
607 | X_LIBS="$XFT_LIBS $X_LIBS" |
613 | X_LIBS="`$PKG_CONFIG xft --libs` $X_LIBS" |
608 | CPPFLAGS="$CPPFLAGS $XFT_CFLAGS" |
614 | CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`" |
609 | ], [ |
615 | else |
|
|
616 | AC_PATH_PROG(XFT_CONFIG, xft-config, no) |
610 | AC_PATH_PROG(XFT_CONFIG, xft-config, no) |
617 | if test $XFT_CONFIG != no; then |
611 | if test $XFT_CONFIG != no; then |
618 | X_LIBS="`$XFT_CONFIG --libs` $X_LIBS" |
612 | X_LIBS="`$XFT_CONFIG --libs` $X_LIBS" |
619 | CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`" |
613 | CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`" |
620 | fi |
614 | fi |
621 | fi |
615 | ]) |
622 | |
|
|
623 | if test $PKG_CONFIG != no && $PKG_CONFIG --exists fontconfig; then |
|
|
624 | X_LIBS="`$PKG_CONFIG fontconfig --libs` $X_LIBS" |
|
|
625 | CPPFLAGS="$CPPFLAGS `$PKG_CONFIG fontconfig --cflags`" |
|
|
626 | fi |
|
|
627 | |
616 | |
628 | save_LIBS="$LIBS" |
617 | save_LIBS="$LIBS" |
629 | LIBS="$LIBS $X_LIBS" |
618 | LIBS="$LIBS $X_LIBS" |
630 | AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no]) |
|
|
631 | AC_CHECK_LIB(Xft,XftDrawString32,:,[support_xft=no]) |
|
|
632 | AC_CHECK_HEADERS(fontconfig/fontconfig.h,,[support_xft=no]) |
619 | AC_CHECK_HEADERS(X11/Xft/Xft.h fontconfig/fontconfig.h,,[support_xft=no]) |
633 | AC_CHECK_LIB(fontconfig,FcPatternGet,:,[support_xft=no]) |
620 | AC_CHECK_FUNCS(XftDrawString32 FcPatternGet,,[support_xft=no]) |
634 | LIBS="$save_LIBS" |
621 | LIBS="$save_LIBS" |
635 | |
622 | |
636 | if test x$support_xft = xyes; then |
623 | if test x$support_xft = xyes; then |
637 | AC_DEFINE(XFT, 1, Define to enable xft support) |
624 | AC_DEFINE(XFT, 1, Define to enable xft support) |
638 | fi |
625 | fi |
639 | fi |
626 | fi |
640 | |
627 | |
641 | 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) |
642 | LIBS="$LIBS -lm" |
638 | LIBS="$LIBS -lm" |
643 | AC_DEFINE(XRENDER, 1, Define to enable xrender support) |
639 | AC_DEFINE(XRENDER, 1, Define to enable xrender support) |
644 | |
640 | |
645 | if test x$support_inheritpixmap = xyes; then |
641 | if test x$support_inheritpixmap = xyes; then |
646 | 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) |
647 | fi |
646 | fi |
648 | fi |
647 | fi |
649 | |
648 | |
650 | if test x$support_styles = xyes; then |
649 | if test x$support_styles = xyes; then |
651 | 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) |