… | |
… | |
518 | dnl# -------------------------------------------------------------------------- |
518 | dnl# -------------------------------------------------------------------------- |
519 | AC_HEADER_SYS_WAIT |
519 | AC_HEADER_SYS_WAIT |
520 | AC_CHECK_HEADERS( \ |
520 | AC_CHECK_HEADERS( \ |
521 | assert.h \ |
521 | assert.h \ |
522 | fcntl.h \ |
522 | fcntl.h \ |
523 | grp.h \ |
|
|
524 | libc.h \ |
|
|
525 | lastlog.h \ |
|
|
526 | stdarg.h \ |
523 | stdarg.h \ |
527 | stdlib.h \ |
524 | stdlib.h \ |
528 | string.h \ |
525 | string.h \ |
529 | termios.h \ |
526 | termios.h \ |
530 | unistd.h \ |
527 | unistd.h \ |
531 | sys/byteorder.h \ |
528 | sys/byteorder.h \ |
532 | sys/ioctl.h \ |
529 | sys/ioctl.h \ |
533 | sys/select.h \ |
530 | sys/select.h \ |
534 | sys/sockio.h \ |
531 | sys/sockio.h \ |
535 | sys/strredir.h \ |
532 | sys/strredir.h \ |
536 | sys/stropts.h \ |
|
|
537 | sys/time.h \ |
533 | sys/time.h \ |
538 | utmp.h \ |
534 | stdint.h \ |
539 | utmpx.h \ |
535 | wchar.h \ |
540 | stdint.h \ |
536 | cwchar \ |
541 | pty.h \ |
537 | clocale \ |
542 | util.h \ |
|
|
543 | libutil.h \ |
|
|
544 | wchar.h \ |
|
|
545 | cwchar \ |
|
|
546 | clocale \ |
|
|
547 | ) |
538 | ) |
548 | |
539 | |
549 | AC_HEADER_TIME |
540 | AC_HEADER_TIME |
550 | |
541 | |
551 | dnl# check to allow both <termios.h> and <sys/ioctl.h> |
542 | dnl# check to allow both <termios.h> and <sys/ioctl.h> |
… | |
… | |
705 | dnl# -------------------------------------------------------------------------- |
696 | dnl# -------------------------------------------------------------------------- |
706 | AC_TYPE_SIGNAL |
697 | AC_TYPE_SIGNAL |
707 | dnl> AC_FUNC_VPRINTF |
698 | dnl> AC_FUNC_VPRINTF |
708 | |
699 | |
709 | AC_CHECK_FUNCS( \ |
700 | AC_CHECK_FUNCS( \ |
710 | revoke \ |
|
|
711 | unsetenv \ |
701 | unsetenv \ |
712 | setutent \ |
702 | setutent \ |
713 | seteuid \ |
703 | seteuid \ |
714 | setresuid \ |
704 | setresuid \ |
715 | setreuid \ |
705 | setreuid \ |
716 | _getpty \ |
|
|
717 | getpt \ |
|
|
718 | posix_openpt \ |
|
|
719 | grantpt \ |
|
|
720 | unlockpt \ |
|
|
721 | isastream \ |
|
|
722 | on_exit \ |
706 | on_exit \ |
723 | nanosleep \ |
707 | nanosleep \ |
724 | updwtmp \ |
|
|
725 | updwtmpx \ |
|
|
726 | ttyslot \ |
|
|
727 | ) |
708 | ) |
728 | |
709 | |
729 | dnl# -------------------------------------------------------------------------- |
710 | UTMP_CHECK |
730 | dnl# DO ALL UTMP AND WTMP CHECKING |
|
|
731 | dnl# -------------------------------------------------------------------------- |
|
|
732 | dnl# check for host field in utmp structure |
|
|
733 | |
|
|
734 | dnl# -------------------------------------------- |
|
|
735 | AC_CHECK_HEADER(utmp.h, |
|
|
736 | [AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp, |
|
|
737 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
738 | #include <utmp.h>]], [[struct utmp ut;]])],[rxvt_cv_struct_utmp=yes],[rxvt_cv_struct_utmp=no])]) |
|
|
739 | if test x$rxvt_cv_struct_utmp = xyes; then |
|
|
740 | AC_DEFINE(HAVE_STRUCT_UTMP, 1, Define if utmp.h has struct utmp) |
|
|
741 | fi |
|
|
742 | ] |
|
|
743 | |
|
|
744 | AC_CACHE_CHECK(for ut_host in utmp struct, rxvt_cv_struct_utmp_host, |
|
|
745 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
746 | #include <utmp.h>]], [[struct utmp ut; ut.ut_host;]])],[rxvt_cv_struct_utmp_host=yes],[rxvt_cv_struct_utmp_host=no])]) |
|
|
747 | if test x$rxvt_cv_struct_utmp_host = xyes; then |
|
|
748 | AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host) |
|
|
749 | fi |
|
|
750 | |
|
|
751 | AC_CACHE_CHECK(for ut_pid in utmp struct, rxvt_cv_struct_utmp_pid, |
|
|
752 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
753 | #include <utmp.h>]], [[struct utmp ut; ut.ut_pid;]])],[rxvt_cv_struct_utmp_pid=yes],[rxvt_cv_struct_utmp_pid=no])]) |
|
|
754 | if test x$rxvt_cv_struct_utmp_pid = xyes; then |
|
|
755 | AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid) |
|
|
756 | fi |
|
|
757 | ) dnl# AC_CHECK_HEADER(utmp.h |
|
|
758 | |
|
|
759 | dnl# -------------------------------------------- |
|
|
760 | |
|
|
761 | AC_CHECK_HEADER(utmpx.h, |
|
|
762 | [AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx, |
|
|
763 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
764 | #include <utmpx.h>]], [[struct utmpx ut;]])],[rxvt_cv_struct_utmpx=yes],[rxvt_cv_struct_utmpx=no])]) |
|
|
765 | if test x$rxvt_cv_struct_utmpx = xyes; then |
|
|
766 | AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx) |
|
|
767 | fi |
|
|
768 | ] |
|
|
769 | |
|
|
770 | AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host, |
|
|
771 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
772 | #include <utmpx.h>]], [[struct utmpx utx; utx.ut_host;]])],[rxvt_cv_struct_utmpx_host=yes],[rxvt_cv_struct_utmpx_host=no])]) |
|
|
773 | if test x$rxvt_cv_struct_utmpx_host = xyes; then |
|
|
774 | AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host) |
|
|
775 | fi |
|
|
776 | |
|
|
777 | AC_CACHE_CHECK(for session in utmpx struct, rxvt_cv_struct_utmpx_session, |
|
|
778 | [AC_TRY_COMPILE([#include <sys/types.h> |
|
|
779 | #include <utmpx.h>], |
|
|
780 | [struct utmpx utx; utx.ut_session;], |
|
|
781 | rxvt_cv_struct_utmpx_session=yes, rxvt_cv_struct_utmpx_session=no)]) |
|
|
782 | if test x$rxvt_cv_struct_utmpx_session = xyes; then |
|
|
783 | AC_DEFINE(HAVE_UTMPX_SESSION, 1, Define if struct utmpx contains ut_session) |
|
|
784 | fi |
|
|
785 | ) dnl# AC_CHECK_HEADER(utmpx.h |
|
|
786 | |
|
|
787 | dnl# -------------------------------------------------------------------------- |
|
|
788 | dnl# check for struct lastlog |
|
|
789 | AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog, |
|
|
790 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
791 | #include <utmp.h> |
|
|
792 | #ifdef HAVE_LASTLOG_H |
|
|
793 | #include <lastlog.h> |
|
|
794 | #endif |
|
|
795 | ]], [[struct lastlog ll;]])],[rxvt_cv_struct_lastlog=yes],[rxvt_cv_struct_lastlog=no])]) |
|
|
796 | if test x$rxvt_cv_struct_lastlog = xyes; then |
|
|
797 | AC_DEFINE(HAVE_STRUCT_LASTLOG, 1, Define if utmp.h or lastlog.h has struct lastlog) |
|
|
798 | fi |
|
|
799 | |
|
|
800 | dnl# check for struct lastlogx |
|
|
801 | AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx, |
|
|
802 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
803 | #include <utmpx.h> |
|
|
804 | #ifdef HAVE_LASTLOG_H |
|
|
805 | #include <lastlog.h> |
|
|
806 | #endif |
|
|
807 | ]], [[struct lastlogx ll;]])],[rxvt_cv_struct_lastlogx=yes],[rxvt_cv_struct_lastlogx=no])]) |
|
|
808 | if test x$rxvt_cv_struct_lastlogx = xyes; then |
|
|
809 | AC_DEFINE(HAVE_STRUCT_LASTLOGX, 1, Define if utmpx.h or lastlog.h has struct lastlogx) |
|
|
810 | fi |
|
|
811 | |
|
|
812 | dnl# -------------------------------------------------------------------------- |
|
|
813 | dnl# FIND FILES |
|
|
814 | dnl# -------------------------------------------------------------------------- |
|
|
815 | |
|
|
816 | dnl# find utmp |
|
|
817 | AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp, |
|
|
818 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
819 | #include <sys/types.h> |
|
|
820 | #include <utmp.h> |
|
|
821 | #include <errno.h> |
|
|
822 | main() |
|
|
823 | { |
|
|
824 | char **u, *utmplist[] = { |
|
|
825 | "/var/run/utmp", "/var/adm/utmp", "/etc/utmp", "/usr/etc/utmp", "/usr/adm/utmp", NULL }; |
|
|
826 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
827 | if (!f) exit(1); |
|
|
828 | #ifdef UTMP_FILE |
|
|
829 | fprintf(f, "%s\n", UTMP_FILE); |
|
|
830 | exit(0); |
|
|
831 | #endif |
|
|
832 | #ifdef _PATH_UTMP |
|
|
833 | fprintf(f, "%s\n", _PATH_UTMP); |
|
|
834 | exit(0); |
|
|
835 | #endif |
|
|
836 | for (u = utmplist; *u; u++) { |
|
|
837 | if ((a = fopen(*u, "r")) != NULL || errno == EACCES) { |
|
|
838 | fprintf(f, "%s\n", *u); |
|
|
839 | exit(0); |
|
|
840 | } |
|
|
841 | } |
|
|
842 | exit(0); |
|
|
843 | }]])],[rxvt_cv_path_utmp=`cat conftestval`],[rxvt_cv_path_utmp=],[dnl |
|
|
844 | AC_MSG_WARN(Define RXVT_UTMP_FILE in config.h manually)])]) |
|
|
845 | if test x$rxvt_cv_path_utmp != x; then |
|
|
846 | AC_DEFINE_UNQUOTED(RXVT_UTMP_FILE, "$rxvt_cv_path_utmp", Define location of utmp) |
|
|
847 | fi |
|
|
848 | |
|
|
849 | dnl# -------------------------------------------------------------------------- |
|
|
850 | |
|
|
851 | dnl# find utmpx - if a utmp file exists at the same location and is more than |
|
|
852 | dnl# a day newer, then dump the utmpx. People leave lots of junk around. |
|
|
853 | AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx, |
|
|
854 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
855 | #include <sys/types.h> |
|
|
856 | #include <utmpx.h> |
|
|
857 | #include <errno.h> |
|
|
858 | #include <sys/stat.h> |
|
|
859 | #ifdef HAVE_STRING_H |
|
|
860 | #include <string.h> |
|
|
861 | #endif |
|
|
862 | main() |
|
|
863 | { |
|
|
864 | char **u, *p, *utmplist[] = { |
|
|
865 | #ifdef UTMPX_FILE |
|
|
866 | UTMPX_FILE, |
|
|
867 | #endif |
|
|
868 | #ifdef _PATH_UTMPX |
|
|
869 | _PATH_UTMPX, |
|
|
870 | #endif |
|
|
871 | "/var/adm/utmpx", "/etc/utmpx", NULL }; |
|
|
872 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
873 | struct stat statu, statux; |
|
|
874 | if (!f) exit(1); |
|
|
875 | for (u = utmplist; *u; u++) { |
|
|
876 | if ((a = fopen(*u, "r")) != NULL || errno == EACCES) { |
|
|
877 | if (stat(*u, &statux) < 0) |
|
|
878 | continue; |
|
|
879 | p = strdup(*u); |
|
|
880 | p[strlen(p) - 1] = '\0'; |
|
|
881 | if (stat(p, &statu) >= 0 |
|
|
882 | && (statu.st_mtime - statux.st_mtime > 86400)) |
|
|
883 | continue; |
|
|
884 | fprintf(f, "%s\n", *u); |
|
|
885 | exit(0); |
|
|
886 | } |
|
|
887 | } |
|
|
888 | exit(0); |
|
|
889 | }]])],[rxvt_cv_path_utmpx=`cat conftestval`],[rxvt_cv_path_utmpx=],[dnl |
|
|
890 | AC_MSG_WARN(Define RXVT_UTMPX_FILE in config.h manually)])]) |
|
|
891 | if test x$rxvt_cv_path_utmpx != x; then |
|
|
892 | AC_DEFINE_UNQUOTED(RXVT_UTMPX_FILE, "$rxvt_cv_path_utmpx", Define location of utmpx) |
|
|
893 | fi |
|
|
894 | |
|
|
895 | dnl# -------------------------------------------------------------------------- |
|
|
896 | |
|
|
897 | dnl# find wtmp |
|
|
898 | AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp, |
|
|
899 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
900 | #include <sys/types.h> |
|
|
901 | #ifdef HAVE_UTMP_H |
|
|
902 | #include <utmp.h> |
|
|
903 | #endif |
|
|
904 | #include <errno.h> |
|
|
905 | main() |
|
|
906 | { |
|
|
907 | char **w, *wtmplist[] = { |
|
|
908 | "/var/log/wtmp", "/var/adm/wtmp", "/etc/wtmp", "/usr/etc/wtmp", "/usr/adm/wtmp", NULL }; |
|
|
909 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
910 | if (!f) exit(1); |
|
|
911 | #ifdef WTMP_FILE |
|
|
912 | fprintf(f, "%s\n", WTMP_FILE); |
|
|
913 | exit(0); |
|
|
914 | #endif |
|
|
915 | #ifdef _PATH_WTMP |
|
|
916 | fprintf(f, "%s\n", _PATH_WTMP); |
|
|
917 | exit(0); |
|
|
918 | #endif |
|
|
919 | for (w = wtmplist; *w; w++) { |
|
|
920 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
921 | fprintf(f, "%s\n", *w); |
|
|
922 | exit(0); |
|
|
923 | } |
|
|
924 | } |
|
|
925 | exit(0); |
|
|
926 | }]])],[rxvt_cv_path_wtmp=`cat conftestval`],[rxvt_cv_path_wtmp=],[dnl |
|
|
927 | AC_MSG_WARN(Define RXVT_WTMP_FILE in config.h manually)])]) |
|
|
928 | if test x$rxvt_cv_path_wtmp != x; then |
|
|
929 | AC_DEFINE_UNQUOTED(RXVT_WTMP_FILE, "$rxvt_cv_path_wtmp", Define location of wtmp) |
|
|
930 | fi |
|
|
931 | dnl# -------------------------------------------------------------------------- |
|
|
932 | |
|
|
933 | dnl# find wtmpx |
|
|
934 | AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx, |
|
|
935 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
936 | #ifdef HAVE_UTMPX_H |
|
|
937 | #include <utmpx.h> |
|
|
938 | #endif |
|
|
939 | #include <errno.h> |
|
|
940 | main() |
|
|
941 | { |
|
|
942 | char **w, *wtmplist[] = { |
|
|
943 | "/var/log/wtmpx", "/var/adm/wtmpx", NULL }; |
|
|
944 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
945 | if (!f) exit(1); |
|
|
946 | #ifdef WTMPX_FILE |
|
|
947 | fprintf(f, "%s\n", WTMPX_FILE); |
|
|
948 | exit(0); |
|
|
949 | #endif |
|
|
950 | #ifdef _PATH_WTMPX |
|
|
951 | fprintf(f, "%s\n", _PATH_WTMPX); |
|
|
952 | exit(0); |
|
|
953 | #endif |
|
|
954 | for (w = wtmplist; *w; w++) { |
|
|
955 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
956 | fprintf(f, "%s\n", *w); |
|
|
957 | exit(0); |
|
|
958 | } |
|
|
959 | } |
|
|
960 | exit(0); |
|
|
961 | }]])],[rxvt_cv_path_wtmpx=`cat conftestval`],[rxvt_cv_path_wtmpx=],[dnl |
|
|
962 | AC_MSG_WARN(Define RXVT_WTMPX_FILE in config.h manually)])]) |
|
|
963 | if test x$rxvt_cv_path_wtmpx != x; then |
|
|
964 | AC_DEFINE_UNQUOTED(RXVT_WTMPX_FILE, "$rxvt_cv_path_wtmpx", Define location of wtmpx) |
|
|
965 | fi |
|
|
966 | dnl# -------------------------------------------------------------------------- |
|
|
967 | |
|
|
968 | dnl# find lastlog |
|
|
969 | AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog, |
|
|
970 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
971 | #include <sys/types.h> |
|
|
972 | #ifdef HAVE_UTMPX_H |
|
|
973 | #include <utmpx.h> |
|
|
974 | #elif defined(HAVE_UTMP_H) |
|
|
975 | #include <utmp.h> |
|
|
976 | #endif |
|
|
977 | #ifdef HAVE_LASTLOG_H |
|
|
978 | #include <lastlog.h> |
|
|
979 | #endif |
|
|
980 | #include <errno.h> |
|
|
981 | main() |
|
|
982 | { |
|
|
983 | char **w, *lastloglist[] = { "/var/log/lastlog", NULL }; |
|
|
984 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
985 | if (!f) exit(1); |
|
|
986 | #ifdef LASTLOG_FILE |
|
|
987 | fprintf(f, "%s\n", LASTLOG_FILE); |
|
|
988 | exit(0); |
|
|
989 | #endif |
|
|
990 | #ifdef _PATH_LASTLOG |
|
|
991 | fprintf(f, "%s\n", _PATH_LASTLOG); |
|
|
992 | exit(0); |
|
|
993 | #endif |
|
|
994 | for (w = lastloglist; *w; w++) { |
|
|
995 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
996 | fprintf(f, "%s\n", *w); |
|
|
997 | exit(0); |
|
|
998 | } |
|
|
999 | } |
|
|
1000 | exit(0); |
|
|
1001 | }]])],[rxvt_cv_path_lastlog=`cat conftestval`],[rxvt_cv_path_lastlog=],[dnl |
|
|
1002 | AC_MSG_WARN(Define RXVT_LASTLOG_FILE in config.h manually)])]) |
|
|
1003 | if test x$rxvt_cv_path_lastlog != x; then |
|
|
1004 | AC_DEFINE_UNQUOTED(RXVT_LASTLOG_FILE, "$rxvt_cv_path_lastlog", Define location of lastlog) |
|
|
1005 | if test -d "$rxvt_cv_path_lastlog"; then |
|
|
1006 | AC_DEFINE(LASTLOG_IS_DIR, 1, Define if lastlog is provided via a directory) |
|
|
1007 | fi |
|
|
1008 | fi |
|
|
1009 | dnl# -------------------------------------------------------------------------- |
|
|
1010 | |
|
|
1011 | dnl# find lastlogx |
|
|
1012 | AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx, |
|
|
1013 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
1014 | #ifdef HAVE_UTMPX_H |
|
|
1015 | #include <utmpx.h> |
|
|
1016 | #endif |
|
|
1017 | #include <errno.h> |
|
|
1018 | main() |
|
|
1019 | { |
|
|
1020 | char **w, *wtmplist[] = { "/var/log/lastlogx", "/var/adm/lastlogx", NULL }; |
|
|
1021 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
1022 | if (!f) exit(1); |
|
|
1023 | #ifdef LASTLOGX_FILE |
|
|
1024 | fprintf(f, "%s\n", LASTLOGX_FILE); |
|
|
1025 | exit(0); |
|
|
1026 | #endif |
|
|
1027 | #ifdef _PATH_LASTLOGX |
|
|
1028 | fprintf(f, "%s\n", _PATH_LASTLOGX); |
|
|
1029 | exit(0); |
|
|
1030 | #endif |
|
|
1031 | for (w = wtmplist; *w; w++) { |
|
|
1032 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
1033 | fprintf(f, "%s\n", *w); |
|
|
1034 | exit(0); |
|
|
1035 | } |
|
|
1036 | } |
|
|
1037 | exit(0); |
|
|
1038 | }]])],[rxvt_cv_path_lastlogx=`cat conftestval`],[rxvt_cv_path_lastlogx=],[dnl |
|
|
1039 | AC_MSG_WARN(Define RXVT_LASTLOGX_FILE in config.h manually)])]) |
|
|
1040 | if test x$rxvt_cv_path_lastlogx != x; then |
|
|
1041 | AC_DEFINE_UNQUOTED(RXVT_LASTLOGX_FILE, "$rxvt_cv_path_lastlogx", Define location of lastlogx) |
|
|
1042 | fi |
|
|
1043 | |
711 | |
1044 | dnl# -------------------------------------------------------------------------- |
712 | dnl# -------------------------------------------------------------------------- |
1045 | |
713 | |
1046 | dnl# find ttys/ttytab |
714 | dnl# find ttys/ttytab |
1047 | AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab, |
715 | AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab, |
… | |
… | |
1153 | |
821 | |
1154 | if test x$rxvt_broken_ximcb = xyes; then |
822 | if test x$rxvt_broken_ximcb = xyes; then |
1155 | AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.) |
823 | AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.) |
1156 | fi |
824 | fi |
1157 | |
825 | |
1158 | if test x$ac_cv_func_getpt = xno -a x$ac_cv_func_posix_openpt = xno; then |
826 | PTY_CHECK |
1159 | AC_CHECK_FUNC(openpty, [], [AC_CHECK_LIB(util, openpty, [LIBS="$LIBS -lutil"])]) |
|
|
1160 | fi |
|
|
1161 | |
|
|
1162 | dnl# if we don't guess right then it's up to the user |
|
|
1163 | AC_CACHE_CHECK(for pty/tty type, rxvt_cv_ptys, |
|
|
1164 | [if test x$ac_cv_func_openpty = xyes -o x$ac_cv_lib_util_openpty = xyes; then |
|
|
1165 | rxvt_cv_ptys=OPENPTY |
|
|
1166 | else if test x$ac_cv_func_getpt = xyes; then |
|
|
1167 | rxvt_cv_ptys=GLIBC |
|
|
1168 | else if test x$ac_cv_func_posix_openpt = xyes; then |
|
|
1169 | rxvt_cv_ptys=POSIX |
|
|
1170 | else if test x$ac_cv_func__getpty = xyes; then |
|
|
1171 | rxvt_cv_ptys=SGI4 |
|
|
1172 | else if test -c /dev/ttyp20; then |
|
|
1173 | rxvt_cv_ptys=SCO |
|
|
1174 | else if test -c /dev/ptym/clone; then |
|
|
1175 | rxvt_cv_ptys=HPUX |
|
|
1176 | else if test -c /dev/ptc -a -c /dev/pts; then |
|
|
1177 | rxvt_cv_ptys=PTC |
|
|
1178 | else if test -c /dev/ptc -a -d /dev/pts; then |
|
|
1179 | rxvt_cv_ptys=PTC |
|
|
1180 | else if test -c /dev/ptmx -a -c /dev/pts/0; then |
|
|
1181 | rxvt_cv_ptys=STREAMS |
|
|
1182 | else if test x$ac_cv_func_grantpt = xyes && test x$ac_cv_func_unlockpt = xyes; then |
|
|
1183 | dnl# catch CYGWIN |
|
|
1184 | rxvt_cv_ptys=STREAMS |
|
|
1185 | else |
|
|
1186 | rxvt_cv_ptys=BSD |
|
|
1187 | fi |
|
|
1188 | fi |
|
|
1189 | fi |
|
|
1190 | fi |
|
|
1191 | fi |
|
|
1192 | fi |
|
|
1193 | fi |
|
|
1194 | fi |
|
|
1195 | fi |
|
|
1196 | fi |
|
|
1197 | ]) |
|
|
1198 | |
|
|
1199 | if test x$rxvt_cv_ptys = xGLIBC; then |
|
|
1200 | AC_DEFINE(PTYS_ARE_GETPT, 1, Define for this pty type) |
|
|
1201 | fi |
|
|
1202 | if test x$rxvt_cv_ptys = xPOSIX; then |
|
|
1203 | AC_DEFINE(PTYS_ARE_POSIX, 1, Define for this pty type) |
|
|
1204 | fi |
|
|
1205 | if test x$rxvt_cv_ptys = xOPENPTY; then |
|
|
1206 | AC_DEFINE(PTYS_ARE_OPENPTY, 1, Define for this pty type) |
|
|
1207 | fi |
|
|
1208 | if test x$rxvt_cv_ptys = xSCO; then |
|
|
1209 | AC_DEFINE(PTYS_ARE_NUMERIC, 1, Define for this pty type) |
|
|
1210 | fi |
|
|
1211 | if test x$rxvt_cv_ptys = xSTREAMS; then |
|
|
1212 | AC_DEFINE(PTYS_ARE_PTMX, 1, Define for this pty type) |
|
|
1213 | fi |
|
|
1214 | if test x$rxvt_cv_ptys = xPTC; then |
|
|
1215 | AC_DEFINE(PTYS_ARE_PTC, 1, Define for this pty type) |
|
|
1216 | fi |
|
|
1217 | if test x$rxvt_cv_ptys = xSGI4; then |
|
|
1218 | AC_DEFINE(PTYS_ARE__GETPTY, 1, Define for this pty type) |
|
|
1219 | fi |
|
|
1220 | if test x$rxvt_cv_ptys = xHPUX; then |
|
|
1221 | AC_DEFINE(PTYS_ARE_CLONE, 1, Define for this pty type) |
|
|
1222 | fi |
|
|
1223 | if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xPOSIX; then |
|
|
1224 | AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type) |
|
|
1225 | fi |
|
|
1226 | |
|
|
1227 | |
|
|
1228 | AS_MESSAGE(checking for pty ranges...) |
|
|
1229 | ptys=`echo /dev/pty??` |
|
|
1230 | pch1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'` |
|
|
1231 | pch2=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'` |
|
|
1232 | if test x$pch1 != x; then |
|
|
1233 | AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX) |
|
|
1234 | fi |
|
|
1235 | if test x$pch2 != x; then |
|
|
1236 | AC_DEFINE_UNQUOTED(PTYCHAR2, "$pch2", Define for second char in devptyXX) |
|
|
1237 | fi |
|
|
1238 | |
827 | |
1239 | dnl# -------------------------------------------------------------------------- |
828 | dnl# -------------------------------------------------------------------------- |
1240 | dnl# now add and remove other stuff |
829 | dnl# now add and remove other stuff |
1241 | dnl# -------------------------------------------------------------------------- |
830 | dnl# -------------------------------------------------------------------------- |
1242 | if test x$support_xft = xyes; then |
831 | if test x$support_xft = xyes; then |
… | |
… | |
1478 | fi |
1067 | fi |
1479 | |
1068 | |
1480 | echo " |
1069 | echo " |
1481 | The following are set in config.h |
1070 | The following are set in config.h |
1482 | " |
1071 | " |
1483 | echo " pty/tty type: "$rxvt_cv_ptys |
|
|
1484 | if test x$support_utmp != xyes; then |
1072 | if test x$support_utmp != xyes; then |
1485 | echo " utmp support: disabled" |
1073 | echo " utmp support: disabled" |
1486 | echo |
1074 | echo |
1487 | else |
1075 | else |
1488 | echo " utmp support: enabled |
1076 | echo " utmp support: enabled |
… | |
… | |
1505 | echo " resource class: $RESCLASS" |
1093 | echo " resource class: $RESCLASS" |
1506 | if test x$RESFALLBACK != x; then |
1094 | if test x$RESFALLBACK != x; then |
1507 | echo " resource class fallback: $RESFALLBACK" |
1095 | echo " resource class fallback: $RESFALLBACK" |
1508 | fi |
1096 | fi |
1509 | echo |
1097 | echo |
1510 | if test x$rxvt_cv_ptys = xUNKNOWN; then |
|
|
1511 | echo ".----------------------------------------------------------------." |
|
|
1512 | echo ". WARNING: could not determine pty/tty type. Do not build until ." |
|
|
1513 | echo ". the appropriate PTYS_ARE_* is defined in config.h ." |
|
|
1514 | echo ".----------------------------------------------------------------." |
|
|
1515 | fi |
|
|
1516 | if test x$support_xpm = xneedsmanualspecification; then |
1098 | if test x$support_xpm = xneedsmanualspecification; then |
1517 | echo ".----------------------------------------------------------------." |
1099 | echo ".----------------------------------------------------------------." |
1518 | echo ". WARNING: --enable-xpm-background was specified however the ." |
1100 | echo ". WARNING: --enable-xpm-background was specified however the ." |
1519 | echo ". XPM includes files and libraries could not be found. ." |
1101 | echo ". XPM includes files and libraries could not be found. ." |
1520 | echo ". XPM backgrounds are now being DISABLED! If you want ." |
1102 | echo ". XPM backgrounds are now being DISABLED! If you want ." |