1 | dnl# -*- sh -*- |
|
|
2 | dnl# |
1 | dnl# |
3 | dnl# Process this file with autoconf to produce a configure script. |
2 | dnl# Process this file with autoconf to produce a configure script. |
4 | dnl# |
3 | dnl# |
5 | |
4 | |
6 | AC_INIT |
5 | AC_INIT |
… | |
… | |
31 | |
30 | |
32 | AC_PROG_CC |
31 | AC_PROG_CC |
33 | AC_PROG_CXX |
32 | AC_PROG_CXX |
34 | AC_PROG_CPP |
33 | AC_PROG_CPP |
35 | AC_PROG_INSTALL |
34 | AC_PROG_INSTALL |
36 | AC_PROG_AWK |
35 | |
|
|
36 | AC_AIX |
|
|
37 | AC_ISC_POSIX |
37 | |
38 | |
38 | AC_LANG(C) |
39 | AC_LANG(C) |
39 | |
40 | |
40 | dnl# -------------------------------------------------------------------------- |
41 | dnl check wetehr we can link with gcc -lsupc++ |
41 | dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure' |
|
|
42 | dnl# |
|
|
43 | if test -z "$orig_CXXFLAGS"; then |
|
|
44 | if test x$GCC = xyes && test "x$GXX" = xyes; then |
|
|
45 | CXXFLAGS="-g -O3" |
|
|
46 | else |
|
|
47 | CXXFLAGS="-O" |
|
|
48 | fi |
|
|
49 | CFLAGS="$CXXFLAGS" |
|
|
50 | fi |
|
|
51 | |
|
|
52 | LINKER="$CXX" |
42 | LINKER="$CXX" |
53 | if test x$GCC = xyes && test x$GXX = xyes; then |
43 | if test x$GCC = xyes && test x$GXX = xyes; then |
54 | AC_CHECK_LIB(supc++, main, [ |
44 | AC_CHECK_LIB(supc++, main, [ |
55 | LINKER="$CC" |
45 | LINKER="$CC" |
56 | LIBS="$LIBS -lsupc++" |
46 | LIBS="$LIBS -lsupc++" |
57 | ]) |
47 | ]) |
58 | fi |
48 | fi |
59 | AC_SUBST(LINKER,[$LINKER]) |
49 | AC_SUBST(LINKER,[$LINKER]) |
|
|
50 | |
|
|
51 | AC_LANG(C++) |
|
|
52 | dnl# -------------------------------------------------------------------------- |
|
|
53 | dnl# Supply default CXXFLAGS, if not specified by `CXXFLAGS=flags ./configure' |
|
|
54 | dnl# |
|
|
55 | if test -z "$orig_CXXFLAGS"; then |
|
|
56 | if test x$GCC = xyes && test "x$GXX" = xyes; then |
|
|
57 | CXXFLAGS="-g -O3 -fno-threadsafe-statics -fno-enforce-eh-specs" |
|
|
58 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [], [CXXFLAGS="-g -O3"]) |
|
|
59 | else |
|
|
60 | CXXFLAGS="-O" |
|
|
61 | fi |
|
|
62 | CFLAGS="$CXXFLAGS" |
|
|
63 | fi |
60 | |
64 | |
61 | AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.) |
65 | AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.) |
62 | |
66 | |
63 | case $host in |
67 | case $host in |
64 | *-*-solaris* ) |
68 | *-*-solaris* ) |
… | |
… | |
69 | esac |
73 | esac |
70 | |
74 | |
71 | dnl if test x$GXX = xyes; then |
75 | dnl if test x$GXX = xyes; then |
72 | dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now... |
76 | dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now... |
73 | dnl fi |
77 | dnl fi |
74 | |
|
|
75 | AC_LANG(C++) |
|
|
76 | |
|
|
77 | dnl# system hacks |
|
|
78 | AC_AIX |
|
|
79 | AC_ISC_POSIX |
|
|
80 | |
78 | |
81 | dnl# FreeBSD needs to link libxpg4 |
79 | dnl# FreeBSD needs to link libxpg4 |
82 | AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])]) |
80 | AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])]) |
83 | |
81 | |
84 | dnl# solaris needs to link libnsl and socket |
82 | dnl# solaris needs to link libnsl and socket |
… | |
… | |
479 | AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval" |
477 | AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval" |
480 | fi]) |
478 | fi]) |
481 | |
479 | |
482 | dnl# -------------------------------------------------------------------------- |
480 | dnl# -------------------------------------------------------------------------- |
483 | |
481 | |
484 | AC_DEFINE(PROTOTYPES, 1, Define if you need function prototypes) |
|
|
485 | |
|
|
486 | AC_PATH_PROG(MV, mv, mv) |
482 | AC_PATH_PROG(MV, mv, mv) |
487 | AC_PATH_PROG(RM, rm, rm) |
483 | AC_PATH_PROG(RM, rm, rm) |
488 | AC_PATH_PROG(CP, cp, cp) |
484 | AC_PATH_PROG(CP, cp, cp) |
489 | AC_PATH_PROG(LN, ln, ln) |
485 | AC_PATH_PROG(LN, ln, ln) |
490 | AC_PATH_PROG(SED, sed, sed) |
486 | AC_PATH_PROG(SED, sed, sed) |
491 | AC_PATH_PROG(ECHO, echo, echo) |
487 | AC_PATH_PROG(ECHO, echo, echo) |
492 | AC_PATH_PROG(CMP, cmp, cmp) |
488 | AC_PATH_PROG(CMP, cmp, cmp) |
493 | AC_PATH_PROG(TBL, tbl) |
|
|
494 | AC_PATH_PROG(TIC, tic) |
489 | AC_PATH_PROG(TIC, tic) |
495 | |
490 | |
496 | dnl# need a neat way to detect SVR4 or its features |
491 | dnl# need a neat way to detect SVR4 or its features |
497 | dnl# in src/command.c we use these functions: |
492 | dnl# in src/command.c we use these functions: |
498 | dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h> |
493 | dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h> |
… | |
… | |
523 | dnl# -------------------------------------------------------------------------- |
518 | dnl# -------------------------------------------------------------------------- |
524 | AC_HEADER_SYS_WAIT |
519 | AC_HEADER_SYS_WAIT |
525 | AC_CHECK_HEADERS( \ |
520 | AC_CHECK_HEADERS( \ |
526 | assert.h \ |
521 | assert.h \ |
527 | fcntl.h \ |
522 | fcntl.h \ |
528 | grp.h \ |
|
|
529 | libc.h \ |
|
|
530 | lastlog.h \ |
|
|
531 | stdarg.h \ |
523 | stdarg.h \ |
532 | stdlib.h \ |
524 | stdlib.h \ |
533 | string.h \ |
525 | string.h \ |
534 | termios.h \ |
526 | termios.h \ |
535 | unistd.h \ |
527 | unistd.h \ |
536 | sys/byteorder.h \ |
528 | sys/byteorder.h \ |
537 | sys/ioctl.h \ |
529 | sys/ioctl.h \ |
538 | sys/select.h \ |
530 | sys/select.h \ |
539 | sys/sockio.h \ |
531 | sys/sockio.h \ |
540 | sys/strredir.h \ |
532 | sys/strredir.h \ |
541 | sys/stropts.h \ |
|
|
542 | sys/time.h \ |
533 | sys/time.h \ |
543 | utmp.h \ |
534 | stdint.h \ |
544 | utmpx.h \ |
535 | wchar.h \ |
545 | stdint.h \ |
536 | cwchar \ |
546 | pty.h \ |
537 | clocale \ |
547 | util.h \ |
|
|
548 | libutil.h \ |
|
|
549 | wchar.h \ |
|
|
550 | cwchar \ |
|
|
551 | clocale \ |
|
|
552 | ) |
538 | ) |
553 | |
539 | |
554 | AC_HEADER_TIME |
540 | AC_HEADER_TIME |
555 | |
541 | |
556 | dnl# check to allow both <termios.h> and <sys/ioctl.h> |
542 | dnl# check to allow both <termios.h> and <sys/ioctl.h> |
… | |
… | |
631 | dnl AC_CHECK_SIZEOF(long, 4) |
617 | dnl AC_CHECK_SIZEOF(long, 4) |
632 | AC_CHECK_SIZEOF(long long, 8) |
618 | AC_CHECK_SIZEOF(long long, 8) |
633 | AC_CHECK_SIZEOF(int *, 4) |
619 | AC_CHECK_SIZEOF(int *, 4) |
634 | |
620 | |
635 | dnl# see usage below |
621 | dnl# see usage below |
636 | AC_DEFUN(RXVT_CHECK_SIZE, |
622 | AC_DEFUN([RXVT_CHECK_SIZE], |
637 | [AC_CACHE_CHECK([for $2], $1, |
623 | [AC_CACHE_CHECK([for $2], $1, |
638 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl |
624 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl |
639 | if test "$ac_cv_sizeof_char" -ge $3; then |
625 | if test "$ac_cv_sizeof_char" -ge $3; then |
640 | $1="$4 char" |
626 | $1="$4 char" |
641 | else |
627 | else |
… | |
… | |
710 | dnl# -------------------------------------------------------------------------- |
696 | dnl# -------------------------------------------------------------------------- |
711 | AC_TYPE_SIGNAL |
697 | AC_TYPE_SIGNAL |
712 | dnl> AC_FUNC_VPRINTF |
698 | dnl> AC_FUNC_VPRINTF |
713 | |
699 | |
714 | AC_CHECK_FUNCS( \ |
700 | AC_CHECK_FUNCS( \ |
715 | revoke \ |
|
|
716 | unsetenv \ |
701 | unsetenv \ |
717 | setutent \ |
702 | setutent \ |
718 | seteuid \ |
703 | seteuid \ |
|
|
704 | setresuid \ |
719 | setreuid \ |
705 | setreuid \ |
720 | _getpty \ |
|
|
721 | getpt \ |
|
|
722 | posix_openpt \ |
|
|
723 | grantpt \ |
|
|
724 | unlockpt \ |
|
|
725 | isastream \ |
|
|
726 | on_exit \ |
706 | on_exit \ |
727 | nanosleep \ |
707 | nanosleep \ |
728 | updwtmp \ |
|
|
729 | updwtmpx \ |
|
|
730 | ttyslot \ |
|
|
731 | ) |
708 | ) |
732 | |
709 | |
733 | dnl# -------------------------------------------------------------------------- |
710 | UTMP_CHECK |
734 | dnl# DO ALL UTMP AND WTMP CHECKING |
|
|
735 | dnl# -------------------------------------------------------------------------- |
|
|
736 | dnl# check for host field in utmp structure |
|
|
737 | |
|
|
738 | dnl# -------------------------------------------- |
|
|
739 | AC_CHECK_HEADER(utmp.h, |
|
|
740 | [AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp, |
|
|
741 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
742 | #include <stdint.h> |
|
|
743 | #include <utmp.h>]], [[struct utmp ut;]])],[rxvt_cv_struct_utmp=yes],[rxvt_cv_struct_utmp=no])]) |
|
|
744 | if test x$rxvt_cv_struct_utmp = xyes; then |
|
|
745 | AC_DEFINE(HAVE_STRUCT_UTMP, 1, Define if utmp.h has struct utmp) |
|
|
746 | fi |
|
|
747 | ] |
|
|
748 | |
|
|
749 | AC_CACHE_CHECK(for ut_host in utmp struct, rxvt_cv_struct_utmp_host, |
|
|
750 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
751 | #include <utmp.h>]], [[struct utmp ut; ut.ut_host;]])],[rxvt_cv_struct_utmp_host=yes],[rxvt_cv_struct_utmp_host=no])]) |
|
|
752 | if test x$rxvt_cv_struct_utmp_host = xyes; then |
|
|
753 | AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host) |
|
|
754 | fi |
|
|
755 | |
|
|
756 | AC_CACHE_CHECK(for ut_pid in utmp struct, rxvt_cv_struct_utmp_pid, |
|
|
757 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
758 | #include <utmp.h>]], [[struct utmp ut; ut.ut_pid;]])],[rxvt_cv_struct_utmp_pid=yes],[rxvt_cv_struct_utmp_pid=no])]) |
|
|
759 | if test x$rxvt_cv_struct_utmp_pid = xyes; then |
|
|
760 | AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid) |
|
|
761 | fi |
|
|
762 | ) dnl# AC_CHECK_HEADER(utmp.h |
|
|
763 | |
|
|
764 | dnl# -------------------------------------------- |
|
|
765 | |
|
|
766 | AC_CHECK_HEADER(utmpx.h, |
|
|
767 | [AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx, |
|
|
768 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
769 | #include <utmpx.h>]], [[struct utmpx ut;]])],[rxvt_cv_struct_utmpx=yes],[rxvt_cv_struct_utmpx=no])]) |
|
|
770 | if test x$rxvt_cv_struct_utmpx = xyes; then |
|
|
771 | AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx) |
|
|
772 | fi |
|
|
773 | ] |
|
|
774 | |
|
|
775 | AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host, |
|
|
776 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
777 | #include <utmpx.h>]], [[struct utmpx utx; utx.ut_host;]])],[rxvt_cv_struct_utmpx_host=yes],[rxvt_cv_struct_utmpx_host=no])]) |
|
|
778 | if test x$rxvt_cv_struct_utmpx_host = xyes; then |
|
|
779 | AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host) |
|
|
780 | fi |
|
|
781 | |
|
|
782 | AC_CACHE_CHECK(for session in utmpx struct, rxvt_cv_struct_utmpx_session, |
|
|
783 | [AC_TRY_COMPILE([#include <sys/types.h> |
|
|
784 | #include <utmpx.h>], |
|
|
785 | [struct utmpx utx; utx.ut_session;], |
|
|
786 | rxvt_cv_struct_utmpx_session=yes, rxvt_cv_struct_utmpx_session=no)]) |
|
|
787 | if test x$rxvt_cv_struct_utmpx_session = xyes; then |
|
|
788 | AC_DEFINE(HAVE_UTMPX_SESSION, 1, Define if struct utmpx contains ut_session) |
|
|
789 | fi |
|
|
790 | ) dnl# AC_CHECK_HEADER(utmpx.h |
|
|
791 | |
|
|
792 | dnl# -------------------------------------------------------------------------- |
|
|
793 | dnl# check for struct lastlog |
|
|
794 | AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog, |
|
|
795 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
796 | #include <utmp.h> |
|
|
797 | #ifdef HAVE_LASTLOG_H |
|
|
798 | #include <lastlog.h> |
|
|
799 | #endif |
|
|
800 | ]], [[struct lastlog ll;]])],[rxvt_cv_struct_lastlog=yes],[rxvt_cv_struct_lastlog=no])]) |
|
|
801 | if test x$rxvt_cv_struct_lastlog = xyes; then |
|
|
802 | AC_DEFINE(HAVE_STRUCT_LASTLOG, 1, Define if utmp.h or lastlog.h has struct lastlog) |
|
|
803 | fi |
|
|
804 | |
|
|
805 | dnl# check for struct lastlogx |
|
|
806 | AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx, |
|
|
807 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
|
|
808 | #include <utmpx.h> |
|
|
809 | #ifdef HAVE_LASTLOG_H |
|
|
810 | #include <lastlog.h> |
|
|
811 | #endif |
|
|
812 | ]], [[struct lastlogx ll;]])],[rxvt_cv_struct_lastlogx=yes],[rxvt_cv_struct_lastlogx=no])]) |
|
|
813 | if test x$rxvt_cv_struct_lastlogx = xyes; then |
|
|
814 | AC_DEFINE(HAVE_STRUCT_LASTLOGX, 1, Define if utmpx.h or lastlog.h has struct lastlogx) |
|
|
815 | fi |
|
|
816 | |
|
|
817 | dnl# -------------------------------------------------------------------------- |
|
|
818 | dnl# FIND FILES |
|
|
819 | dnl# -------------------------------------------------------------------------- |
|
|
820 | |
|
|
821 | dnl# find utmp |
|
|
822 | AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp, |
|
|
823 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
824 | #include <sys/types.h> |
|
|
825 | #include <utmp.h> |
|
|
826 | #include <errno.h> |
|
|
827 | main() |
|
|
828 | { |
|
|
829 | char **u, *utmplist[] = { |
|
|
830 | "/var/run/utmp", "/var/adm/utmp", "/etc/utmp", "/usr/etc/utmp", "/usr/adm/utmp", NULL }; |
|
|
831 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
832 | if (!f) exit(1); |
|
|
833 | #ifdef UTMP_FILE |
|
|
834 | fprintf(f, "%s\n", UTMP_FILE); |
|
|
835 | exit(0); |
|
|
836 | #endif |
|
|
837 | #ifdef _PATH_UTMP |
|
|
838 | fprintf(f, "%s\n", _PATH_UTMP); |
|
|
839 | exit(0); |
|
|
840 | #endif |
|
|
841 | for (u = utmplist; *u; u++) { |
|
|
842 | if ((a = fopen(*u, "r")) != NULL || errno == EACCES) { |
|
|
843 | fprintf(f, "%s\n", *u); |
|
|
844 | exit(0); |
|
|
845 | } |
|
|
846 | } |
|
|
847 | exit(0); |
|
|
848 | }]])],[rxvt_cv_path_utmp=`cat conftestval`],[rxvt_cv_path_utmp=],[dnl |
|
|
849 | AC_MSG_WARN(Define RXVT_UTMP_FILE in config.h manually)])]) |
|
|
850 | if test x$rxvt_cv_path_utmp != x; then |
|
|
851 | AC_DEFINE_UNQUOTED(RXVT_UTMP_FILE, "$rxvt_cv_path_utmp", Define location of utmp) |
|
|
852 | fi |
|
|
853 | |
|
|
854 | dnl# -------------------------------------------------------------------------- |
|
|
855 | |
|
|
856 | dnl# find utmpx - if a utmp file exists at the same location and is more than |
|
|
857 | dnl# a day newer, then dump the utmpx. People leave lots of junk around. |
|
|
858 | AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx, |
|
|
859 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
860 | #include <sys/types.h> |
|
|
861 | #include <utmpx.h> |
|
|
862 | #include <errno.h> |
|
|
863 | #include <sys/stat.h> |
|
|
864 | #ifdef HAVE_STRING_H |
|
|
865 | #include <string.h> |
|
|
866 | #endif |
|
|
867 | main() |
|
|
868 | { |
|
|
869 | char **u, *p, *utmplist[] = { |
|
|
870 | #ifdef UTMPX_FILE |
|
|
871 | UTMPX_FILE, |
|
|
872 | #endif |
|
|
873 | #ifdef _PATH_UTMPX |
|
|
874 | _PATH_UTMPX, |
|
|
875 | #endif |
|
|
876 | "/var/adm/utmpx", "/etc/utmpx", NULL }; |
|
|
877 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
878 | struct stat statu, statux; |
|
|
879 | if (!f) exit(1); |
|
|
880 | for (u = utmplist; *u; u++) { |
|
|
881 | if ((a = fopen(*u, "r")) != NULL || errno == EACCES) { |
|
|
882 | if (stat(*u, &statux) < 0) |
|
|
883 | continue; |
|
|
884 | p = strdup(*u); |
|
|
885 | p[strlen(p) - 1] = '\0'; |
|
|
886 | if (stat(p, &statu) >= 0 |
|
|
887 | && (statu.st_mtime - statux.st_mtime > 86400)) |
|
|
888 | continue; |
|
|
889 | fprintf(f, "%s\n", *u); |
|
|
890 | exit(0); |
|
|
891 | } |
|
|
892 | } |
|
|
893 | exit(0); |
|
|
894 | }]])],[rxvt_cv_path_utmpx=`cat conftestval`],[rxvt_cv_path_utmpx=],[dnl |
|
|
895 | AC_MSG_WARN(Define RXVT_UTMPX_FILE in config.h manually)])]) |
|
|
896 | if test x$rxvt_cv_path_utmpx != x; then |
|
|
897 | AC_DEFINE_UNQUOTED(RXVT_UTMPX_FILE, "$rxvt_cv_path_utmpx", Define location of utmpx) |
|
|
898 | fi |
|
|
899 | |
|
|
900 | dnl# -------------------------------------------------------------------------- |
|
|
901 | |
|
|
902 | dnl# find wtmp |
|
|
903 | AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp, |
|
|
904 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
905 | #include <sys/types.h> |
|
|
906 | #ifdef HAVE_UTMP_H |
|
|
907 | #include <utmp.h> |
|
|
908 | #endif |
|
|
909 | #include <errno.h> |
|
|
910 | main() |
|
|
911 | { |
|
|
912 | char **w, *wtmplist[] = { |
|
|
913 | "/var/log/wtmp", "/var/adm/wtmp", "/etc/wtmp", "/usr/etc/wtmp", "/usr/adm/wtmp", NULL }; |
|
|
914 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
915 | if (!f) exit(1); |
|
|
916 | #ifdef WTMP_FILE |
|
|
917 | fprintf(f, "%s\n", WTMP_FILE); |
|
|
918 | exit(0); |
|
|
919 | #endif |
|
|
920 | #ifdef _PATH_WTMP |
|
|
921 | fprintf(f, "%s\n", _PATH_WTMP); |
|
|
922 | exit(0); |
|
|
923 | #endif |
|
|
924 | for (w = wtmplist; *w; w++) { |
|
|
925 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
926 | fprintf(f, "%s\n", *w); |
|
|
927 | exit(0); |
|
|
928 | } |
|
|
929 | } |
|
|
930 | exit(0); |
|
|
931 | }]])],[rxvt_cv_path_wtmp=`cat conftestval`],[rxvt_cv_path_wtmp=],[dnl |
|
|
932 | AC_MSG_WARN(Define RXVT_WTMP_FILE in config.h manually)])]) |
|
|
933 | if test x$rxvt_cv_path_wtmp != x; then |
|
|
934 | AC_DEFINE_UNQUOTED(RXVT_WTMP_FILE, "$rxvt_cv_path_wtmp", Define location of wtmp) |
|
|
935 | fi |
|
|
936 | dnl# -------------------------------------------------------------------------- |
|
|
937 | |
|
|
938 | dnl# find wtmpx |
|
|
939 | AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx, |
|
|
940 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
941 | #ifdef HAVE_UTMPX_H |
|
|
942 | #include <utmpx.h> |
|
|
943 | #endif |
|
|
944 | #include <errno.h> |
|
|
945 | main() |
|
|
946 | { |
|
|
947 | char **w, *wtmplist[] = { |
|
|
948 | "/var/log/wtmpx", "/var/adm/wtmpx", NULL }; |
|
|
949 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
950 | if (!f) exit(1); |
|
|
951 | #ifdef WTMPX_FILE |
|
|
952 | fprintf(f, "%s\n", WTMPX_FILE); |
|
|
953 | exit(0); |
|
|
954 | #endif |
|
|
955 | #ifdef _PATH_WTMPX |
|
|
956 | fprintf(f, "%s\n", _PATH_WTMPX); |
|
|
957 | exit(0); |
|
|
958 | #endif |
|
|
959 | for (w = wtmplist; *w; w++) { |
|
|
960 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
961 | fprintf(f, "%s\n", *w); |
|
|
962 | exit(0); |
|
|
963 | } |
|
|
964 | } |
|
|
965 | exit(0); |
|
|
966 | }]])],[rxvt_cv_path_wtmpx=`cat conftestval`],[rxvt_cv_path_wtmpx=],[dnl |
|
|
967 | AC_MSG_WARN(Define RXVT_WTMPX_FILE in config.h manually)])]) |
|
|
968 | if test x$rxvt_cv_path_wtmpx != x; then |
|
|
969 | AC_DEFINE_UNQUOTED(RXVT_WTMPX_FILE, "$rxvt_cv_path_wtmpx", Define location of wtmpx) |
|
|
970 | fi |
|
|
971 | dnl# -------------------------------------------------------------------------- |
|
|
972 | |
|
|
973 | dnl# find lastlog |
|
|
974 | AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog, |
|
|
975 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
976 | #include <sys/types.h> |
|
|
977 | #ifdef HAVE_UTMPX_H |
|
|
978 | #include <utmpx.h> |
|
|
979 | #elif defined(HAVE_UTMP_H) |
|
|
980 | #include <utmp.h> |
|
|
981 | #endif |
|
|
982 | #ifdef HAVE_LASTLOG_H |
|
|
983 | #include <lastlog.h> |
|
|
984 | #endif |
|
|
985 | #include <errno.h> |
|
|
986 | main() |
|
|
987 | { |
|
|
988 | char **w, *lastloglist[] = { "/var/log/lastlog", NULL }; |
|
|
989 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
990 | if (!f) exit(1); |
|
|
991 | #ifdef LASTLOG_FILE |
|
|
992 | fprintf(f, "%s\n", LASTLOG_FILE); |
|
|
993 | exit(0); |
|
|
994 | #endif |
|
|
995 | #ifdef _PATH_LASTLOG |
|
|
996 | fprintf(f, "%s\n", _PATH_LASTLOG); |
|
|
997 | exit(0); |
|
|
998 | #endif |
|
|
999 | for (w = lastloglist; *w; w++) { |
|
|
1000 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
1001 | fprintf(f, "%s\n", *w); |
|
|
1002 | exit(0); |
|
|
1003 | } |
|
|
1004 | } |
|
|
1005 | exit(0); |
|
|
1006 | }]])],[rxvt_cv_path_lastlog=`cat conftestval`],[rxvt_cv_path_lastlog=],[dnl |
|
|
1007 | AC_MSG_WARN(Define RXVT_LASTLOG_FILE in config.h manually)])]) |
|
|
1008 | if test x$rxvt_cv_path_lastlog != x; then |
|
|
1009 | AC_DEFINE_UNQUOTED(RXVT_LASTLOG_FILE, "$rxvt_cv_path_lastlog", Define location of lastlog) |
|
|
1010 | if test -d "$rxvt_cv_path_lastlog"; then |
|
|
1011 | AC_DEFINE(LASTLOG_IS_DIR, 1, Define if lastlog is provided via a directory) |
|
|
1012 | fi |
|
|
1013 | fi |
|
|
1014 | dnl# -------------------------------------------------------------------------- |
|
|
1015 | |
|
|
1016 | dnl# find lastlogx |
|
|
1017 | AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx, |
|
|
1018 | [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
|
|
1019 | #ifdef HAVE_UTMPX_H |
|
|
1020 | #include <utmpx.h> |
|
|
1021 | #endif |
|
|
1022 | #include <errno.h> |
|
|
1023 | main() |
|
|
1024 | { |
|
|
1025 | char **w, *wtmplist[] = { "/var/log/lastlogx", "/var/adm/lastlogx", NULL }; |
|
|
1026 | FILE *a, *f=fopen("conftestval", "w"); |
|
|
1027 | if (!f) exit(1); |
|
|
1028 | #ifdef LASTLOGX_FILE |
|
|
1029 | fprintf(f, "%s\n", LASTLOGX_FILE); |
|
|
1030 | exit(0); |
|
|
1031 | #endif |
|
|
1032 | #ifdef _PATH_LASTLOGX |
|
|
1033 | fprintf(f, "%s\n", _PATH_LASTLOGX); |
|
|
1034 | exit(0); |
|
|
1035 | #endif |
|
|
1036 | for (w = wtmplist; *w; w++) { |
|
|
1037 | if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { |
|
|
1038 | fprintf(f, "%s\n", *w); |
|
|
1039 | exit(0); |
|
|
1040 | } |
|
|
1041 | } |
|
|
1042 | exit(0); |
|
|
1043 | }]])],[rxvt_cv_path_lastlogx=`cat conftestval`],[rxvt_cv_path_lastlogx=],[dnl |
|
|
1044 | AC_MSG_WARN(Define RXVT_LASTLOGX_FILE in config.h manually)])]) |
|
|
1045 | if test x$rxvt_cv_path_lastlogx != x; then |
|
|
1046 | AC_DEFINE_UNQUOTED(RXVT_LASTLOGX_FILE, "$rxvt_cv_path_lastlogx", Define location of lastlogx) |
|
|
1047 | fi |
|
|
1048 | |
711 | |
1049 | dnl# -------------------------------------------------------------------------- |
712 | dnl# -------------------------------------------------------------------------- |
1050 | |
713 | |
1051 | dnl# find ttys/ttytab |
714 | dnl# find ttys/ttytab |
1052 | 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, |
… | |
… | |
1158 | |
821 | |
1159 | if test x$rxvt_broken_ximcb = xyes; then |
822 | if test x$rxvt_broken_ximcb = xyes; then |
1160 | 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.) |
1161 | fi |
824 | fi |
1162 | |
825 | |
1163 | if test x$ac_cv_func_getpt = xno -a x$ac_cv_func_posix_openpt = xno; then |
826 | PTY_CHECK |
1164 | AC_CHECK_FUNC(openpty, [], [AC_CHECK_LIB(util, openpty, [LIBS="$LIBS -lutil"])]) |
|
|
1165 | fi |
|
|
1166 | |
|
|
1167 | dnl# if we don't guess right then it's up to the user |
|
|
1168 | AC_CACHE_CHECK(for pty/tty type, rxvt_cv_ptys, |
|
|
1169 | [if test x$ac_cv_func_openpty = xyes -o x$ac_cv_lib_util_openpty = xyes; then |
|
|
1170 | rxvt_cv_ptys=OPENPTY |
|
|
1171 | else if test x$ac_cv_func_getpt = xyes; then |
|
|
1172 | rxvt_cv_ptys=GLIBC |
|
|
1173 | else if test x$ac_cv_func_posix_openpt = xyes; then |
|
|
1174 | rxvt_cv_ptys=POSIX |
|
|
1175 | else if test x$ac_cv_func__getpty = xyes; then |
|
|
1176 | rxvt_cv_ptys=SGI4 |
|
|
1177 | else if test -c /dev/ttyp20; then |
|
|
1178 | rxvt_cv_ptys=SCO |
|
|
1179 | else if test -c /dev/ptym/clone; then |
|
|
1180 | rxvt_cv_ptys=HPUX |
|
|
1181 | else if test -c /dev/ptc -a -c /dev/pts; then |
|
|
1182 | rxvt_cv_ptys=PTC |
|
|
1183 | else if test -c /dev/ptc -a -d /dev/pts; then |
|
|
1184 | rxvt_cv_ptys=PTC |
|
|
1185 | else if test -c /dev/ptmx -a -c /dev/pts/0; then |
|
|
1186 | rxvt_cv_ptys=STREAMS |
|
|
1187 | else if test x$ac_cv_func_grantpt = xyes && test x$ac_cv_func_unlockpt = xyes; then |
|
|
1188 | dnl# catch CYGWIN |
|
|
1189 | rxvt_cv_ptys=STREAMS |
|
|
1190 | else |
|
|
1191 | rxvt_cv_ptys=BSD |
|
|
1192 | fi |
|
|
1193 | fi |
|
|
1194 | fi |
|
|
1195 | fi |
|
|
1196 | fi |
|
|
1197 | fi |
|
|
1198 | fi |
|
|
1199 | fi |
|
|
1200 | fi |
|
|
1201 | fi |
|
|
1202 | ]) |
|
|
1203 | |
|
|
1204 | if test x$rxvt_cv_ptys = xGLIBC; then |
|
|
1205 | AC_DEFINE(PTYS_ARE_GETPT, 1, Define for this pty type) |
|
|
1206 | fi |
|
|
1207 | if test x$rxvt_cv_ptys = xPOSIX; then |
|
|
1208 | AC_DEFINE(PTYS_ARE_POSIX, 1, Define for this pty type) |
|
|
1209 | fi |
|
|
1210 | if test x$rxvt_cv_ptys = xOPENPTY; then |
|
|
1211 | AC_DEFINE(PTYS_ARE_OPENPTY, 1, Define for this pty type) |
|
|
1212 | fi |
|
|
1213 | if test x$rxvt_cv_ptys = xSCO; then |
|
|
1214 | AC_DEFINE(PTYS_ARE_NUMERIC, 1, Define for this pty type) |
|
|
1215 | fi |
|
|
1216 | if test x$rxvt_cv_ptys = xSTREAMS; then |
|
|
1217 | AC_DEFINE(PTYS_ARE_PTMX, 1, Define for this pty type) |
|
|
1218 | fi |
|
|
1219 | if test x$rxvt_cv_ptys = xPTC; then |
|
|
1220 | AC_DEFINE(PTYS_ARE_PTC, 1, Define for this pty type) |
|
|
1221 | fi |
|
|
1222 | if test x$rxvt_cv_ptys = xSGI4; then |
|
|
1223 | AC_DEFINE(PTYS_ARE__GETPTY, 1, Define for this pty type) |
|
|
1224 | fi |
|
|
1225 | if test x$rxvt_cv_ptys = xHPUX; then |
|
|
1226 | AC_DEFINE(PTYS_ARE_CLONE, 1, Define for this pty type) |
|
|
1227 | fi |
|
|
1228 | if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xPOSIX; then |
|
|
1229 | AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type) |
|
|
1230 | fi |
|
|
1231 | |
|
|
1232 | |
|
|
1233 | AS_MESSAGE(checking for pty ranges...) |
|
|
1234 | ptys=`echo /dev/pty??` |
|
|
1235 | pch1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'` |
|
|
1236 | pch2=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'` |
|
|
1237 | if test x$pch1 != x; then |
|
|
1238 | AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX) |
|
|
1239 | fi |
|
|
1240 | if test x$pch2 != x; then |
|
|
1241 | AC_DEFINE_UNQUOTED(PTYCHAR2, "$pch2", Define for second char in devptyXX) |
|
|
1242 | fi |
|
|
1243 | |
827 | |
1244 | dnl# -------------------------------------------------------------------------- |
828 | dnl# -------------------------------------------------------------------------- |
1245 | dnl# now add and remove other stuff |
829 | dnl# now add and remove other stuff |
1246 | dnl# -------------------------------------------------------------------------- |
830 | dnl# -------------------------------------------------------------------------- |
1247 | if test x$support_xft = xyes; then |
831 | if test x$support_xft = xyes; then |
… | |
… | |
1428 | AC_ARG_PROGRAM |
1012 | AC_ARG_PROGRAM |
1429 | |
1013 | |
1430 | dnl# test for "sun" or "__sun__" before include sys_ioctl |
1014 | dnl# test for "sun" or "__sun__" before include sys_ioctl |
1431 | |
1015 | |
1432 | dnl# revert HAVE_BLAH_H into a "#include <blah.h>" |
1016 | dnl# revert HAVE_BLAH_H into a "#include <blah.h>" |
1433 | AC_DEFUN(RXVT_DEFINE_TO_INCLUDE, dnl |
1017 | AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl |
1434 | [if test "$$3" = "$4" -o "$$5" = "$6"; then |
1018 | [if test "$$3" = "$4" -o "$$5" = "$6"; then |
1435 | $1="#include <$2>" |
1019 | $1="#include <$2>" |
1436 | else |
1020 | else |
1437 | $1="/* #include <$2> */" |
1021 | $1="/* #include <$2> */" |
1438 | fi dnl |
1022 | fi dnl |
… | |
… | |
1483 | fi |
1067 | fi |
1484 | |
1068 | |
1485 | echo " |
1069 | echo " |
1486 | The following are set in config.h |
1070 | The following are set in config.h |
1487 | " |
1071 | " |
1488 | echo " pty/tty type: "$rxvt_cv_ptys |
|
|
1489 | if test x$support_utmp != xyes; then |
1072 | if test x$support_utmp != xyes; then |
1490 | echo " utmp support: disabled" |
1073 | echo " utmp support: disabled" |
1491 | echo |
1074 | echo |
1492 | else |
1075 | else |
1493 | echo " utmp support: enabled |
1076 | echo " utmp support: enabled |
… | |
… | |
1510 | echo " resource class: $RESCLASS" |
1093 | echo " resource class: $RESCLASS" |
1511 | if test x$RESFALLBACK != x; then |
1094 | if test x$RESFALLBACK != x; then |
1512 | echo " resource class fallback: $RESFALLBACK" |
1095 | echo " resource class fallback: $RESFALLBACK" |
1513 | fi |
1096 | fi |
1514 | echo |
1097 | echo |
1515 | if test x$rxvt_cv_ptys = xUNKNOWN; then |
|
|
1516 | echo ".----------------------------------------------------------------." |
|
|
1517 | echo ". WARNING: could not determine pty/tty type. Do not build until ." |
|
|
1518 | echo ". the appropriate PTYS_ARE_* is defined in config.h ." |
|
|
1519 | echo ".----------------------------------------------------------------." |
|
|
1520 | fi |
|
|
1521 | if test x$support_xpm = xneedsmanualspecification; then |
1098 | if test x$support_xpm = xneedsmanualspecification; then |
1522 | echo ".----------------------------------------------------------------." |
1099 | echo ".----------------------------------------------------------------." |
1523 | echo ". WARNING: --enable-xpm-background was specified however the ." |
1100 | echo ". WARNING: --enable-xpm-background was specified however the ." |
1524 | echo ". XPM includes files and libraries could not be found. ." |
1101 | echo ". XPM includes files and libraries could not be found. ." |
1525 | echo ". XPM backgrounds are now being DISABLED! If you want ." |
1102 | echo ". XPM backgrounds are now being DISABLED! If you want ." |