1 | dnl# -*- sh -*- |
1 | dnl# -*- sh -*- |
2 | dnl# |
2 | dnl# |
3 | dnl# Process this file with autoconf to produce a configure script. |
3 | dnl# Process this file with autoconf to produce a configure script. |
4 | dnl# |
4 | dnl# |
5 | AC_INIT(src/feature.h) |
5 | AC_INIT |
|
|
6 | AC_CONFIG_SRCDIR([src/feature.h]) |
6 | AC_CONFIG_AUX_DIR(autoconf) |
7 | AC_CONFIG_AUX_DIR(autoconf) |
7 | AC_CONFIG_HEADER(config.h:autoconf/config.h.in) |
8 | AC_CONFIG_HEADER(config.h:autoconf/config.h.in) |
8 | |
9 | |
9 | dnl RXVT version |
10 | dnl RXVT version |
10 | changequote(, )dnl |
11 | changequote(, )dnl |
… | |
… | |
500 | sys/byteorder.h \ |
501 | sys/byteorder.h \ |
501 | sys/ioctl.h \ |
502 | sys/ioctl.h \ |
502 | sys/select.h \ |
503 | sys/select.h \ |
503 | sys/sockio.h \ |
504 | sys/sockio.h \ |
504 | sys/strredir.h \ |
505 | sys/strredir.h \ |
|
|
506 | sys/stropts.h \ |
505 | sys/time.h \ |
507 | sys/time.h \ |
506 | utmp.h \ |
508 | utmp.h \ |
507 | utmpx.h \ |
509 | utmpx.h \ |
508 | stdint.h \ |
510 | stdint.h \ |
509 | ) |
511 | ) |
510 | |
512 | |
511 | AC_HEADER_TIME |
513 | AC_HEADER_TIME |
512 | |
514 | |
513 | dnl# check to allow both <termios.h> and <sys/ioctl.h> |
515 | dnl# check to allow both <termios.h> and <sys/ioctl.h> |
514 | AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl, |
516 | AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl, |
515 | [AC_TRY_COMPILE([#include <stdio.h> |
517 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h> |
516 | #include <sys/ioctl.h> |
518 | #include <sys/ioctl.h> |
517 | #ifdef HAVE_TERMIOS_H |
519 | #ifdef HAVE_TERMIOS_H |
518 | #include <termios.h> |
520 | #include <termios.h> |
519 | #endif], [int a = ECHO;], rxvt_cv_header_sysioctl=yes, rxvt_cv_header_sysioctl=no)]) |
521 | #endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])]) |
520 | |
522 | |
521 | dnl# ELF systems may want to store paths for dynamic libraries. |
523 | dnl# ELF systems may want to store paths for dynamic libraries. |
522 | dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath" |
524 | dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath" |
523 | dnl# At least one version of SunOS wants "-R path" but it's not checked yet. |
525 | dnl# At least one version of SunOS wants "-R path" but it's not checked yet. |
524 | if test -n "$GCC"; then |
526 | if test -n "$GCC"; then |
… | |
… | |
533 | ac_save_CFLAGS=$CFLAGS |
535 | ac_save_CFLAGS=$CFLAGS |
534 | ac_save_LIBS=$LIBS |
536 | ac_save_LIBS=$LIBS |
535 | CFLAGS="$CFLAGS $X_CFLAGS" |
537 | CFLAGS="$CFLAGS $X_CFLAGS" |
536 | LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` |
538 | LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` |
537 | AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath, |
539 | AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath, |
538 | [AC_TRY_RUN([ |
540 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
539 | main() |
541 | main() |
540 | { |
542 | { |
541 | exit(0); |
543 | exit(0); |
542 | (void) XOpenDisplay("foobar"); |
544 | (void) XOpenDisplay("foobar"); |
543 | }], rxvt_cv_rpath=yes, rxvt_cv_rpath=no, dnl |
545 | }]])],[rxvt_cv_rpath=yes],[rxvt_cv_rpath=no],[dnl |
544 | AC_MSG_WARN([You may need to check the LIBS line]))]) |
546 | AC_MSG_WARN(You may need to check the LIBS line)])]) |
545 | if test x$rxvt_cv_rpath != xyes; then |
547 | if test x$rxvt_cv_rpath != xyes; then |
546 | changequote(, )dnl |
548 | changequote(, )dnl |
547 | R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g' |
549 | R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g' |
548 | changequote([, ])dnl |
550 | changequote([, ])dnl |
549 | LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` |
551 | LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` |
550 | AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R, |
552 | AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R, |
551 | [AC_TRY_RUN([ |
553 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
552 | main() |
554 | main() |
553 | { |
555 | { |
554 | exit(0); |
556 | exit(0); |
555 | (void) XOpenDisplay("foobar"); |
557 | (void) XOpenDisplay("foobar"); |
556 | }], rxvt_cv_R=yes, rxvt_cv_R=no, rxvt_cv_R=no)]) |
558 | }]])],[rxvt_cv_R=yes],[rxvt_cv_R=no],[rxvt_cv_R=no])]) |
557 | if test x$rxvt_cv_R != xyes; then |
559 | if test x$rxvt_cv_R != xyes; then |
558 | LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" |
560 | LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" |
559 | fi |
561 | fi |
560 | fi |
562 | fi |
561 | |
563 | |
562 | AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, |
564 | AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, |
563 | [AC_TRY_COMPILE([#include <X11/Xlib.h>], [XPointer dummy;], |
565 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])]) |
564 | rxvt_cv_xpointer=yes, rxvt_cv_xpointer=no)]) |
|
|
565 | if test x$rxvt_cv_xpointer = xyes; then |
566 | if test x$rxvt_cv_xpointer = xyes; then |
566 | AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) |
567 | AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) |
567 | fi |
568 | fi |
568 | LIBS=$ac_save_LIBS |
569 | LIBS=$ac_save_LIBS |
569 | CFLAGS=$ac_save_CFLAGS |
570 | CFLAGS=$ac_save_CFLAGS |
… | |
… | |
593 | AC_CHECK_SIZEOF(int *, 4) |
594 | AC_CHECK_SIZEOF(int *, 4) |
594 | |
595 | |
595 | dnl# see usage below |
596 | dnl# see usage below |
596 | AC_DEFUN(RXVT_CHECK_SIZE, |
597 | AC_DEFUN(RXVT_CHECK_SIZE, |
597 | [AC_CACHE_CHECK([for $2], $1, |
598 | [AC_CACHE_CHECK([for $2], $1, |
598 | [AC_TRY_COMPILE([#include <stdint.h>], $2 dummy;, |
599 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl |
599 | [$1=yes], |
|
|
600 | [dnl |
|
|
601 | if test $ac_cv_sizeof_char -ge $3; then |
600 | if test $ac_cv_sizeof_char -ge $3; then |
602 | $1="$4 char" |
601 | $1="$4 char" |
603 | else |
602 | else |
604 | if test $ac_cv_sizeof_short -ge $3; then |
603 | if test $ac_cv_sizeof_short -ge $3; then |
605 | $1="$4 short" |
604 | $1="$4 short" |
… | |
… | |
707 | dnl# check for host field in utmp structure |
706 | dnl# check for host field in utmp structure |
708 | |
707 | |
709 | dnl# -------------------------------------------- |
708 | dnl# -------------------------------------------- |
710 | AC_CHECK_HEADER(utmp.h, |
709 | AC_CHECK_HEADER(utmp.h, |
711 | [AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp, |
710 | [AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp, |
712 | [AC_TRY_COMPILE([#include <sys/types.h> |
711 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
713 | #include <stdint.h> |
712 | #include <stdint.h> |
714 | #include <utmp.h>], |
713 | #include <utmp.h>]], [[struct utmp ut;]])],[rxvt_cv_struct_utmp=yes],[rxvt_cv_struct_utmp=no])]) |
715 | [struct utmp ut;], |
|
|
716 | rxvt_cv_struct_utmp=yes, rxvt_cv_struct_utmp=no)]) |
|
|
717 | if test x$rxvt_cv_struct_utmp = xyes; then |
714 | if test x$rxvt_cv_struct_utmp = xyes; then |
718 | AC_DEFINE(HAVE_STRUCT_UTMP, 1, Define if utmp.h has struct utmp) |
715 | AC_DEFINE(HAVE_STRUCT_UTMP, 1, Define if utmp.h has struct utmp) |
719 | fi |
716 | fi |
720 | ] |
717 | ] |
721 | |
718 | |
722 | AC_CACHE_CHECK(for ut_host in utmp struct, rxvt_cv_struct_utmp_host, |
719 | AC_CACHE_CHECK(for ut_host in utmp struct, rxvt_cv_struct_utmp_host, |
723 | [AC_TRY_COMPILE([#include <sys/types.h> |
720 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
724 | #include <utmp.h>], |
721 | #include <utmp.h>]], [[struct utmp ut; ut.ut_host;]])],[rxvt_cv_struct_utmp_host=yes],[rxvt_cv_struct_utmp_host=no])]) |
725 | [struct utmp ut; ut.ut_host;], |
|
|
726 | rxvt_cv_struct_utmp_host=yes, rxvt_cv_struct_utmp_host=no)]) |
|
|
727 | if test x$rxvt_cv_struct_utmp_host = xyes; then |
722 | if test x$rxvt_cv_struct_utmp_host = xyes; then |
728 | AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host) |
723 | AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host) |
729 | fi |
724 | fi |
730 | |
725 | |
731 | AC_CACHE_CHECK(for ut_pid in utmp struct, rxvt_cv_struct_utmp_pid, |
726 | AC_CACHE_CHECK(for ut_pid in utmp struct, rxvt_cv_struct_utmp_pid, |
732 | [AC_TRY_COMPILE([#include <sys/types.h> |
727 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
733 | #include <utmp.h>], |
728 | #include <utmp.h>]], [[struct utmp ut; ut.ut_pid;]])],[rxvt_cv_struct_utmp_pid=yes],[rxvt_cv_struct_utmp_pid=no])]) |
734 | [struct utmp ut; ut.ut_pid;], |
|
|
735 | rxvt_cv_struct_utmp_pid=yes, rxvt_cv_struct_utmp_pid=no)]) |
|
|
736 | if test x$rxvt_cv_struct_utmp_pid = xyes; then |
729 | if test x$rxvt_cv_struct_utmp_pid = xyes; then |
737 | AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid) |
730 | AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid) |
738 | fi |
731 | fi |
739 | ) dnl# AC_CHECK_HEADER(utmp.h |
732 | ) dnl# AC_CHECK_HEADER(utmp.h |
740 | |
733 | |
741 | dnl# -------------------------------------------- |
734 | dnl# -------------------------------------------- |
742 | |
735 | |
743 | AC_CHECK_HEADER(utmpx.h, |
736 | AC_CHECK_HEADER(utmpx.h, |
744 | [AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx, |
737 | [AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx, |
745 | [AC_TRY_COMPILE([#include <sys/types.h> |
738 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
746 | #include <utmpx.h>], |
739 | #include <utmpx.h>]], [[struct utmpx ut;]])],[rxvt_cv_struct_utmpx=yes],[rxvt_cv_struct_utmpx=no])]) |
747 | [struct utmpx ut;], |
|
|
748 | rxvt_cv_struct_utmpx=yes, rxvt_cv_struct_utmpx=no)]) |
|
|
749 | if test x$rxvt_cv_struct_utmpx = xyes; then |
740 | if test x$rxvt_cv_struct_utmpx = xyes; then |
750 | AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx) |
741 | AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx) |
751 | fi |
742 | fi |
752 | ] |
743 | ] |
753 | |
744 | |
754 | AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host, |
745 | AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host, |
755 | [AC_TRY_COMPILE([#include <sys/types.h> |
746 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
756 | #include <utmpx.h>], |
747 | #include <utmpx.h>]], [[struct utmpx utx; utx.ut_host;]])],[rxvt_cv_struct_utmpx_host=yes],[rxvt_cv_struct_utmpx_host=no])]) |
757 | [struct utmpx utx; utx.ut_host;], |
|
|
758 | rxvt_cv_struct_utmpx_host=yes, rxvt_cv_struct_utmpx_host=no)]) |
|
|
759 | if test x$rxvt_cv_struct_utmpx_host = xyes; then |
748 | if test x$rxvt_cv_struct_utmpx_host = xyes; then |
760 | AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host) |
749 | AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host) |
761 | fi |
750 | fi |
762 | ) dnl# AC_CHECK_HEADER(utmpx.h |
751 | ) dnl# AC_CHECK_HEADER(utmpx.h |
763 | |
752 | |
764 | |
753 | |
765 | dnl# -------------------------------------------------------------------------- |
754 | dnl# -------------------------------------------------------------------------- |
766 | dnl# check for struct lastlog |
755 | dnl# check for struct lastlog |
767 | AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog, |
756 | AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog, |
768 | [AC_TRY_COMPILE([#include <sys/types.h> |
757 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
769 | #include <utmp.h> |
758 | #include <utmp.h> |
770 | #ifdef HAVE_LASTLOG_H |
759 | #ifdef HAVE_LASTLOG_H |
771 | #include <lastlog.h> |
760 | #include <lastlog.h> |
772 | #endif |
761 | #endif |
773 | ], |
|
|
774 | [struct lastlog ll;], |
|
|
775 | rxvt_cv_struct_lastlog=yes, rxvt_cv_struct_lastlog=no)]) |
762 | ]], [[struct lastlog ll;]])],[rxvt_cv_struct_lastlog=yes],[rxvt_cv_struct_lastlog=no])]) |
776 | if test x$rxvt_cv_struct_lastlog = xyes; then |
763 | if test x$rxvt_cv_struct_lastlog = xyes; then |
777 | AC_DEFINE(HAVE_STRUCT_LASTLOG, 1, Define if utmp.h or lastlog.h has struct lastlog) |
764 | AC_DEFINE(HAVE_STRUCT_LASTLOG, 1, Define if utmp.h or lastlog.h has struct lastlog) |
778 | fi |
765 | fi |
779 | |
766 | |
780 | dnl# check for struct lastlogx |
767 | dnl# check for struct lastlogx |
781 | AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx, |
768 | AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx, |
782 | [AC_TRY_COMPILE([#include <sys/types.h> |
769 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
783 | #include <utmpx.h> |
770 | #include <utmpx.h> |
784 | #ifdef HAVE_LASTLOG_H |
771 | #ifdef HAVE_LASTLOG_H |
785 | #include <lastlog.h> |
772 | #include <lastlog.h> |
786 | #endif |
773 | #endif |
787 | ], |
|
|
788 | [struct lastlogx ll;], |
|
|
789 | rxvt_cv_struct_lastlogx=yes, rxvt_cv_struct_lastlogx=no)]) |
774 | ]], [[struct lastlogx ll;]])],[rxvt_cv_struct_lastlogx=yes],[rxvt_cv_struct_lastlogx=no])]) |
790 | if test x$rxvt_cv_struct_lastlogx = xyes; then |
775 | if test x$rxvt_cv_struct_lastlogx = xyes; then |
791 | AC_DEFINE(HAVE_STRUCT_LASTLOGX, 1, Define if utmpx.h or lastlog.h has struct lastlogx) |
776 | AC_DEFINE(HAVE_STRUCT_LASTLOGX, 1, Define if utmpx.h or lastlog.h has struct lastlogx) |
792 | fi |
777 | fi |
793 | |
778 | |
794 | dnl# -------------------------------------------------------------------------- |
779 | dnl# -------------------------------------------------------------------------- |
795 | dnl# FIND FILES |
780 | dnl# FIND FILES |
796 | dnl# -------------------------------------------------------------------------- |
781 | dnl# -------------------------------------------------------------------------- |
797 | |
782 | |
798 | dnl# find utmp |
783 | dnl# find utmp |
799 | AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp, |
784 | AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp, |
800 | [AC_TRY_RUN([#include <stdio.h> |
785 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
801 | #include <sys/types.h> |
786 | #include <sys/types.h> |
802 | #include <utmp.h> |
787 | #include <utmp.h> |
803 | #include <errno.h> |
788 | #include <errno.h> |
804 | main() |
789 | main() |
805 | { |
790 | { |
… | |
… | |
820 | fprintf(f, "%s\n", *u); |
805 | fprintf(f, "%s\n", *u); |
821 | exit(0); |
806 | exit(0); |
822 | } |
807 | } |
823 | } |
808 | } |
824 | exit(0); |
809 | exit(0); |
825 | }], rxvt_cv_path_utmp=`cat conftestval`, rxvt_cv_path_utmp=, dnl |
810 | }]])],[rxvt_cv_path_utmp=`cat conftestval`],[rxvt_cv_path_utmp=],[dnl |
826 | AC_MSG_WARN([Define RXVT_UTMP_FILE in config.h manually]))]) |
811 | AC_MSG_WARN(Define RXVT_UTMP_FILE in config.h manually)])]) |
827 | if test x$rxvt_cv_path_utmp != x; then |
812 | if test x$rxvt_cv_path_utmp != x; then |
828 | AC_DEFINE_UNQUOTED(RXVT_UTMP_FILE, "$rxvt_cv_path_utmp", Define location of utmp) |
813 | AC_DEFINE_UNQUOTED(RXVT_UTMP_FILE, "$rxvt_cv_path_utmp", Define location of utmp) |
829 | fi |
814 | fi |
830 | |
815 | |
831 | dnl# -------------------------------------------------------------------------- |
816 | dnl# -------------------------------------------------------------------------- |
832 | |
817 | |
833 | dnl# find utmpx - if a utmp file exists at the same location and is more than |
818 | dnl# find utmpx - if a utmp file exists at the same location and is more than |
834 | dnl# a day newer, then dump the utmpx. People leave lots of junk around. |
819 | dnl# a day newer, then dump the utmpx. People leave lots of junk around. |
835 | AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx, |
820 | AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx, |
836 | [AC_TRY_RUN([#include <stdio.h> |
821 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
837 | #include <sys/types.h> |
822 | #include <sys/types.h> |
838 | #include <utmpx.h> |
823 | #include <utmpx.h> |
839 | #include <errno.h> |
824 | #include <errno.h> |
840 | #include <sys/stat.h> |
825 | #include <sys/stat.h> |
841 | #ifdef HAVE_STRING_H |
826 | #ifdef HAVE_STRING_H |
… | |
… | |
866 | fprintf(f, "%s\n", *u); |
851 | fprintf(f, "%s\n", *u); |
867 | exit(0); |
852 | exit(0); |
868 | } |
853 | } |
869 | } |
854 | } |
870 | exit(0); |
855 | exit(0); |
871 | }], rxvt_cv_path_utmpx=`cat conftestval`, rxvt_cv_path_utmpx=, dnl |
856 | }]])],[rxvt_cv_path_utmpx=`cat conftestval`],[rxvt_cv_path_utmpx=],[dnl |
872 | AC_MSG_WARN([Define RXVT_UTMPX_FILE in config.h manually]))]) |
857 | AC_MSG_WARN(Define RXVT_UTMPX_FILE in config.h manually)])]) |
873 | if test x$rxvt_cv_path_utmpx != x; then |
858 | if test x$rxvt_cv_path_utmpx != x; then |
874 | AC_DEFINE_UNQUOTED(RXVT_UTMPX_FILE, "$rxvt_cv_path_utmpx", Define location of utmpx) |
859 | AC_DEFINE_UNQUOTED(RXVT_UTMPX_FILE, "$rxvt_cv_path_utmpx", Define location of utmpx) |
875 | fi |
860 | fi |
876 | |
861 | |
877 | dnl# -------------------------------------------------------------------------- |
862 | dnl# -------------------------------------------------------------------------- |
878 | |
863 | |
879 | dnl# find wtmp |
864 | dnl# find wtmp |
880 | AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp, |
865 | AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp, |
881 | [AC_TRY_RUN([#include <stdio.h> |
866 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
882 | #include <sys/types.h> |
867 | #include <sys/types.h> |
883 | #ifdef HAVE_UTMP_H |
868 | #ifdef HAVE_UTMP_H |
884 | #include <utmp.h> |
869 | #include <utmp.h> |
885 | #endif |
870 | #endif |
886 | #include <errno.h> |
871 | #include <errno.h> |
… | |
… | |
903 | fprintf(f, "%s\n", *w); |
888 | fprintf(f, "%s\n", *w); |
904 | exit(0); |
889 | exit(0); |
905 | } |
890 | } |
906 | } |
891 | } |
907 | exit(0); |
892 | exit(0); |
908 | }], rxvt_cv_path_wtmp=`cat conftestval`, rxvt_cv_path_wtmp=, dnl |
893 | }]])],[rxvt_cv_path_wtmp=`cat conftestval`],[rxvt_cv_path_wtmp=],[dnl |
909 | AC_MSG_WARN([Define RXVT_WTMP_FILE in config.h manually]))]) |
894 | AC_MSG_WARN(Define RXVT_WTMP_FILE in config.h manually)])]) |
910 | if test x$rxvt_cv_path_wtmp != x; then |
895 | if test x$rxvt_cv_path_wtmp != x; then |
911 | AC_DEFINE_UNQUOTED(RXVT_WTMP_FILE, "$rxvt_cv_path_wtmp", Define location of wtmp) |
896 | AC_DEFINE_UNQUOTED(RXVT_WTMP_FILE, "$rxvt_cv_path_wtmp", Define location of wtmp) |
912 | fi |
897 | fi |
913 | dnl# -------------------------------------------------------------------------- |
898 | dnl# -------------------------------------------------------------------------- |
914 | |
899 | |
915 | dnl# find wtmpx |
900 | dnl# find wtmpx |
916 | AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx, |
901 | AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx, |
917 | [AC_TRY_RUN([#include <stdio.h> |
902 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
918 | #ifdef HAVE_UTMPX_H |
903 | #ifdef HAVE_UTMPX_H |
919 | #include <utmpx.h> |
904 | #include <utmpx.h> |
920 | #endif |
905 | #endif |
921 | #include <errno.h> |
906 | #include <errno.h> |
922 | main() |
907 | main() |
… | |
… | |
938 | fprintf(f, "%s\n", *w); |
923 | fprintf(f, "%s\n", *w); |
939 | exit(0); |
924 | exit(0); |
940 | } |
925 | } |
941 | } |
926 | } |
942 | exit(0); |
927 | exit(0); |
943 | }], rxvt_cv_path_wtmpx=`cat conftestval`, rxvt_cv_path_wtmpx=, dnl |
928 | }]])],[rxvt_cv_path_wtmpx=`cat conftestval`],[rxvt_cv_path_wtmpx=],[dnl |
944 | AC_MSG_WARN([Define RXVT_WTMPX_FILE in config.h manually]))]) |
929 | AC_MSG_WARN(Define RXVT_WTMPX_FILE in config.h manually)])]) |
945 | if test x$rxvt_cv_path_wtmpx != x; then |
930 | if test x$rxvt_cv_path_wtmpx != x; then |
946 | AC_DEFINE_UNQUOTED(RXVT_WTMPX_FILE, "$rxvt_cv_path_wtmpx", Define location of wtmpx) |
931 | AC_DEFINE_UNQUOTED(RXVT_WTMPX_FILE, "$rxvt_cv_path_wtmpx", Define location of wtmpx) |
947 | fi |
932 | fi |
948 | dnl# -------------------------------------------------------------------------- |
933 | dnl# -------------------------------------------------------------------------- |
949 | |
934 | |
950 | dnl# find lastlog |
935 | dnl# find lastlog |
951 | AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog, |
936 | AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog, |
952 | [AC_TRY_RUN([#include <stdio.h> |
937 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
953 | #include <sys/types.h> |
938 | #include <sys/types.h> |
954 | #ifdef HAVE_UTMPX_H |
939 | #ifdef HAVE_UTMPX_H |
955 | #include <utmpx.h> |
940 | #include <utmpx.h> |
956 | #elif defined(HAVE_UTMP_H) |
941 | #elif defined(HAVE_UTMP_H) |
957 | #include <utmp.h> |
942 | #include <utmp.h> |
… | |
… | |
978 | fprintf(f, "%s\n", *w); |
963 | fprintf(f, "%s\n", *w); |
979 | exit(0); |
964 | exit(0); |
980 | } |
965 | } |
981 | } |
966 | } |
982 | exit(0); |
967 | exit(0); |
983 | }], rxvt_cv_path_lastlog=`cat conftestval`, rxvt_cv_path_lastlog=, dnl |
968 | }]])],[rxvt_cv_path_lastlog=`cat conftestval`],[rxvt_cv_path_lastlog=],[dnl |
984 | AC_MSG_WARN([Define RXVT_LASTLOG_FILE in config.h manually]))]) |
969 | AC_MSG_WARN(Define RXVT_LASTLOG_FILE in config.h manually)])]) |
985 | if test x$rxvt_cv_path_lastlog != x; then |
970 | if test x$rxvt_cv_path_lastlog != x; then |
986 | AC_DEFINE_UNQUOTED(RXVT_LASTLOG_FILE, "$rxvt_cv_path_lastlog", Define location of lastlog) |
971 | AC_DEFINE_UNQUOTED(RXVT_LASTLOG_FILE, "$rxvt_cv_path_lastlog", Define location of lastlog) |
987 | if test -d "$rxvt_cv_path_lastlog"; then |
972 | if test -d "$rxvt_cv_path_lastlog"; then |
988 | AC_DEFINE(LASTLOG_IS_DIR, 1, Define if lastlog is provided via a directory) |
973 | AC_DEFINE(LASTLOG_IS_DIR, 1, Define if lastlog is provided via a directory) |
989 | fi |
974 | fi |
990 | fi |
975 | fi |
991 | dnl# -------------------------------------------------------------------------- |
976 | dnl# -------------------------------------------------------------------------- |
992 | |
977 | |
993 | dnl# find lastlogx |
978 | dnl# find lastlogx |
994 | AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx, |
979 | AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx, |
995 | [AC_TRY_RUN([#include <stdio.h> |
980 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
996 | #ifdef HAVE_UTMPX_H |
981 | #ifdef HAVE_UTMPX_H |
997 | #include <utmpx.h> |
982 | #include <utmpx.h> |
998 | #endif |
983 | #endif |
999 | #include <errno.h> |
984 | #include <errno.h> |
1000 | main() |
985 | main() |
… | |
… | |
1015 | fprintf(f, "%s\n", *w); |
1000 | fprintf(f, "%s\n", *w); |
1016 | exit(0); |
1001 | exit(0); |
1017 | } |
1002 | } |
1018 | } |
1003 | } |
1019 | exit(0); |
1004 | exit(0); |
1020 | }], rxvt_cv_path_lastlogx=`cat conftestval`, rxvt_cv_path_lastlogx=, dnl |
1005 | }]])],[rxvt_cv_path_lastlogx=`cat conftestval`],[rxvt_cv_path_lastlogx=],[dnl |
1021 | AC_MSG_WARN([Define RXVT_LASTLOGX_FILE in config.h manually]))]) |
1006 | AC_MSG_WARN(Define RXVT_LASTLOGX_FILE in config.h manually)])]) |
1022 | if test x$rxvt_cv_path_lastlogx != x; then |
1007 | if test x$rxvt_cv_path_lastlogx != x; then |
1023 | AC_DEFINE_UNQUOTED(RXVT_LASTLOGX_FILE, "$rxvt_cv_path_lastlogx", Define location of lastlogx) |
1008 | AC_DEFINE_UNQUOTED(RXVT_LASTLOGX_FILE, "$rxvt_cv_path_lastlogx", Define location of lastlogx) |
1024 | fi |
1009 | fi |
1025 | |
1010 | |
1026 | dnl# -------------------------------------------------------------------------- |
1011 | dnl# -------------------------------------------------------------------------- |
… | |
… | |
1050 | LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" |
1035 | LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" |
1051 | if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then |
1036 | if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then |
1052 | LIBS=`echo $LIBS | sed "$R_TRANSLATE"` |
1037 | LIBS=`echo $LIBS | sed "$R_TRANSLATE"` |
1053 | fi |
1038 | fi |
1054 | AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, |
1039 | AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, |
1055 | [AC_TRY_RUN([#include <X11/Xlib.h> |
1040 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h> |
1056 | main() { |
1041 | main() { |
1057 | char *p; |
1042 | char *p; |
1058 | if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) |
1043 | if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) |
1059 | exit (XSupportsLocale() ? 0 : 1); |
1044 | exit (XSupportsLocale() ? 0 : 1); |
1060 | else |
1045 | else |
1061 | exit (1);}], dnl |
1046 | exit (1);}]])],[dnl |
1062 | rxvt_cv_func_xlocale=yes, rxvt_cv_func_xlocale=no, dnl |
1047 | rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl |
1063 | AC_MSG_WARN([Define NO_XLOCALE in config.h manually]))]) |
1048 | AC_MSG_WARN(Define NO_XLOCALE in config.h manually)])]) |
1064 | if test x$rxvt_cv_func_xlocale = xyes; then |
1049 | if test x$rxvt_cv_func_xlocale = xyes; then |
1065 | AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works) |
1050 | AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works) |
1066 | fi |
1051 | fi |
1067 | |
1052 | |
1068 | AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale, |
1053 | AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale, |
1069 | [AC_TRY_LINK([#define X_LOCALE 1 |
1054 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1 |
1070 | #include <X11/Xlocale.h>], |
1055 | #include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])]) |
1071 | [setlocale(LC_CTYPE, "");], |
|
|
1072 | rxvt_cv_func_xsetlocale=yes, rxvt_cv_func_xsetlocale=no)]) |
|
|
1073 | if test x$rxvt_cv_func_xsetlocale = xyes; then |
1056 | if test x$rxvt_cv_func_xsetlocale = xyes; then |
1074 | AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) |
1057 | AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) |
1075 | fi |
1058 | fi |
1076 | LIBS=$ac_save_LIBS |
1059 | LIBS=$ac_save_LIBS |
1077 | CFLAGS=$ac_save_CFLAGS |
1060 | CFLAGS=$ac_save_CFLAGS |
1078 | |
1061 | |
1079 | AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale, |
1062 | AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale, |
1080 | [AC_TRY_LINK([#include <clocale>], |
1063 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])]) |
1081 | [setlocale(LC_CTYPE, "");], |
|
|
1082 | rxvt_cv_func_setlocale=yes, rxvt_cv_func_setlocale=no)]) |
|
|
1083 | if test x$rxvt_cv_func_setlocale = xyes; then |
1064 | if test x$rxvt_cv_func_setlocale = xyes; then |
1084 | AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works) |
1065 | AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works) |
1085 | fi |
1066 | fi |
1086 | |
1067 | |
1087 | AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, |
1068 | AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, |
1088 | [AC_TRY_LINK([#include <langinfo.h>], |
1069 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])]) |
1089 | [nl_langinfo(CODESET);], |
|
|
1090 | rxvt_cv_func_nl_langinfo=yes, rxvt_cv_func_nl_langinfo=no)]) |
|
|
1091 | if test x$rxvt_cv_func_nl_langinfo = xyes; then |
1070 | if test x$rxvt_cv_func_nl_langinfo = xyes; then |
1092 | AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) |
1071 | AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) |
1093 | fi |
1072 | fi |
1094 | |
1073 | |
|
|
1074 | AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb, |
|
|
1075 | [AC_COMPILE_IFELSE([ |
|
|
1076 | #include <X11/Xlib.h> |
|
|
1077 | |
|
|
1078 | void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3); |
|
|
1079 | |
|
|
1080 | void f() { |
|
|
1081 | XIMCallback cb; |
|
|
1082 | cb.callback = im_destroy_cb; |
|
|
1083 | } |
|
|
1084 | ],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)]) |
|
|
1085 | |
|
|
1086 | if test x$rxvt_broken_ximcb = xyes; then |
|
|
1087 | AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.) |
|
|
1088 | fi |
|
|
1089 | |
1095 | AC_CACHE_CHECK(for getpt, rxvt_cv_func_getpt, |
1090 | AC_CACHE_CHECK(for getpt, rxvt_cv_func_getpt, |
1096 | [AC_TRY_LINK([#define _GNU_SOURCE |
1091 | [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE |
1097 | #ifdef HAVE_STDLIB_H |
1092 | #ifdef HAVE_STDLIB_H |
1098 | # include <cstdlib> |
1093 | # include <cstdlib> |
1099 | #endif], |
1094 | #endif]], [[(void)getpt();]])],[rxvt_cv_func_getpt=yes],[rxvt_cv_func_getpt=no])]) |
1100 | [(void)getpt();], |
|
|
1101 | rxvt_cv_func_getpt=yes, rxvt_cv_func_getpt=no)]) |
|
|
1102 | if test x$rxvt_cv_func_getpt = xyes; then |
1095 | if test x$rxvt_cv_func_getpt = xyes; then |
1103 | AC_DEFINE(HAVE_GETPT, 1, Define if you have _GNU_SOURCE getpt() ) |
1096 | AC_DEFINE(HAVE_GETPT, 1, Define if you have _GNU_SOURCE getpt() ) |
1104 | fi |
1097 | fi |
1105 | |
1098 | |
1106 | dnl# if we don't guess right then it's up to the user |
1099 | dnl# if we don't guess right then it's up to the user |
… | |
… | |
1164 | if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xGLIBC; then |
1157 | if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xGLIBC; then |
1165 | AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type) |
1158 | AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type) |
1166 | fi |
1159 | fi |
1167 | |
1160 | |
1168 | |
1161 | |
1169 | AC_CHECKING(for pty ranges) |
1162 | AS_MESSAGE(checking for pty ranges...) |
1170 | ptys=`echo /dev/pty??` |
1163 | ptys=`echo /dev/pty??` |
1171 | pch1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'` |
1164 | pch1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'` |
1172 | pch2=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'` |
1165 | pch2=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'` |
1173 | if test x$pch1 != x; then |
1166 | if test x$pch1 != x; then |
1174 | AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX) |
1167 | AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX) |
… | |
… | |
1265 | AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters) |
1258 | AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters) |
1266 | fi |
1259 | fi |
1267 | if test x$codesets = xall; then |
1260 | if test x$codesets = xall; then |
1268 | codesets=jp,jp-ext,kr,cn,cn-ext |
1261 | codesets=jp,jp-ext,kr,cn,cn-ext |
1269 | fi |
1262 | fi |
|
|
1263 | AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets) |
|
|
1264 | AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets) |
1270 | for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do |
1265 | for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do |
1271 | AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets) |
|
|
1272 | AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets) |
|
|
1273 | case "$codeset" in |
1266 | case "$codeset" in |
1274 | JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;; |
1267 | JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;; |
1275 | JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;; |
1268 | JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;; |
1276 | KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;; |
1269 | KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;; |
1277 | CN ) AC_DEFINE(ENCODING_CN, 1, Define if you want chinese codesets) ;; |
1270 | CN ) AC_DEFINE(ENCODING_CN, 1, Define if you want chinese codesets) ;; |
… | |
… | |
1351 | if test x$support_xft = xyes; then |
1344 | if test x$support_xft = xyes; then |
1352 | AC_DEFINE(XFT, 1, Define to enable xft support) |
1345 | AC_DEFINE(XFT, 1, Define to enable xft support) |
1353 | fi |
1346 | fi |
1354 | fi |
1347 | fi |
1355 | |
1348 | |
1356 | AC_OUTPUT(autoconf/Make.common \ |
1349 | AC_CONFIG_FILES([autoconf/Make.common \ |
1357 | Makefile \ |
1350 | Makefile \ |
1358 | doc/Makefile \ |
1351 | doc/Makefile \ |
1359 | src/Makefile \ |
1352 | src/Makefile \ |
1360 | src/test/Makefile \ |
1353 | src/test/Makefile \ |
1361 | src/rxvtlib.h \ |
1354 | src/rxvtlib.h \ |
1362 | W11/Makefile \ |
1355 | W11/Makefile \ |
1363 | ) |
1356 | ]) |
|
|
1357 | AC_OUTPUT |
1364 | |
1358 | |
1365 | echo "Configuration: |
1359 | echo "Configuration: |
1366 | |
1360 | |
1367 | Rxvt version: $VERSION : $DATE |
1361 | Rxvt version: $VERSION : $DATE |
1368 | Source code location: $srcdir |
1362 | Source code location: $srcdir |