… | |
… | |
15 | DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` |
15 | DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` |
16 | dnl LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` |
16 | dnl LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` |
17 | changequote([, ])dnl |
17 | changequote([, ])dnl |
18 | AC_SUBST(VERSION)dnl |
18 | AC_SUBST(VERSION)dnl |
19 | AC_SUBST(DATE)dnl |
19 | AC_SUBST(DATE)dnl |
20 | AC_SUBST(LSMDATE)dnl |
|
|
21 | AC_SUBST(LIBVERSION)dnl |
20 | dnl AC_SUBST(LIBVERSION)dnl |
22 | |
21 | |
23 | echo "" |
22 | echo "" |
24 | echo "configuring for rxvt $VERSION" |
23 | echo "configuring for rxvt $VERSION" |
25 | echo "" |
24 | echo "" |
26 | |
25 | |
27 | orig_CXXFLAGS="$CXXFLAGS" |
26 | orig_CXXFLAGS="$CXXFLAGS" |
28 | |
27 | |
29 | dnl# Checks for programs. |
28 | dnl# Checks for programs. |
30 | dnl AC_MAKE_SET |
|
|
31 | |
|
|
32 | AC_PROG_CC |
29 | AC_PROG_CC |
33 | AC_PROG_CXX |
30 | AC_PROG_CXX |
34 | AC_PROG_CPP |
31 | AC_PROG_CPP |
35 | AC_PROG_INSTALL |
32 | AC_PROG_INSTALL |
36 | |
33 | |
37 | AC_AIX |
34 | AC_AIX |
|
|
35 | AC_GNU_SOURCE |
38 | AC_ISC_POSIX |
36 | AC_ISC_POSIX |
39 | AC_LANG(C++) |
37 | AC_LANG(C++) |
40 | |
38 | |
41 | dnl check wether we can link with gcc -lsupc++ |
39 | dnl check wether we can link with gcc -lsupc++ |
42 | if test x$GCC = xyes && test x$GXX = xyes; then |
40 | if test x$GCC = xyes && test x$GXX = xyes; then |
… | |
… | |
71 | CXXFLAGS="-O" |
69 | CXXFLAGS="-O" |
72 | fi |
70 | fi |
73 | CFLAGS="$CXXFLAGS" |
71 | CFLAGS="$CXXFLAGS" |
74 | fi |
72 | fi |
75 | |
73 | |
76 | AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.) |
|
|
77 | |
|
|
78 | case $host in |
74 | case $host in |
79 | *-*-solaris* ) |
75 | *-*-solaris* ) |
80 | AC_DEFINE(_XOPEN_SOURCE, 500, Needed to get declarations for msg_control and msg_controllen on Solaris) |
76 | AC_DEFINE(_XOPEN_SOURCE, 500, Needed to get declarations for msg_control and msg_controllen on Solaris) |
81 | ;; |
77 | ;; |
82 | esac |
78 | esac |
83 | |
|
|
84 | dnl if test x$GXX = xyes; then |
|
|
85 | dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now... |
|
|
86 | dnl fi |
|
|
87 | |
79 | |
88 | dnl# FreeBSD needs to link libxpg4 |
80 | dnl# FreeBSD needs to link libxpg4 |
89 | AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])]) |
81 | AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])]) |
90 | |
82 | |
91 | dnl# solaris needs to link libnsl and socket |
83 | dnl# solaris needs to link libnsl and socket |
… | |
… | |
123 | |
115 | |
124 | dnl# -------------------------------------------------------------------------- |
116 | dnl# -------------------------------------------------------------------------- |
125 | dnl# CHECKING COMMAND LINE OPTIONS |
117 | dnl# CHECKING COMMAND LINE OPTIONS |
126 | dnl# -------------------------------------------------------------------------- |
118 | dnl# -------------------------------------------------------------------------- |
127 | |
119 | |
128 | if test "x$enable_shared" = xyes; then |
120 | dnl if test "x$enable_shared" = xyes; then |
129 | AC_DEFINE(LIBRXVT, 1, Build shared library version - specify via configure only) |
121 | dnl AC_DEFINE(LIBRXVT, 1, Build shared library version - specify via configure only) |
130 | INSTALL_LIBRXVT=yes |
122 | dnl INSTALL_LIBRXVT=yes |
131 | fi |
123 | dnl fi |
132 | AC_SUBST(INSTALL_LIBRXVT) |
124 | dnl AC_SUBST(INSTALL_LIBRXVT) |
133 | |
125 | |
134 | AC_ARG_ENABLE(everything, |
126 | AC_ARG_ENABLE(everything, |
135 | [ --enable-everything enable standard non-multichoice features |
127 | [ --enable-everything enable standard non-multichoice features |
136 | NOTE: this option is order dependent], |
128 | NOTE: this option is order dependent], |
137 | [ |
129 | [ |
… | |
… | |
482 | fi |
474 | fi |
483 | |
475 | |
484 | dnl# -------------------------------------------------------------------------- |
476 | dnl# -------------------------------------------------------------------------- |
485 | dnl# CHECKING FOR HEADER FILES |
477 | dnl# CHECKING FOR HEADER FILES |
486 | dnl# -------------------------------------------------------------------------- |
478 | dnl# -------------------------------------------------------------------------- |
487 | AC_HEADER_SYS_WAIT |
|
|
488 | AC_CHECK_HEADERS( \ |
479 | AC_CHECK_HEADERS( \ |
489 | assert.h \ |
|
|
490 | fcntl.h \ |
|
|
491 | stdarg.h \ |
|
|
492 | stdlib.h \ |
|
|
493 | string.h \ |
|
|
494 | termios.h \ |
|
|
495 | unistd.h \ |
|
|
496 | sys/byteorder.h \ |
480 | sys/byteorder.h \ |
497 | sys/ioctl.h \ |
481 | sys/ioctl.h \ |
498 | sys/select.h \ |
|
|
499 | sys/sockio.h \ |
482 | sys/sockio.h \ |
500 | sys/strredir.h \ |
483 | sys/strredir.h \ |
501 | sys/time.h \ |
|
|
502 | stdint.h \ |
484 | stdint.h \ |
503 | wchar.h \ |
485 | wchar.h \ |
504 | cwchar \ |
486 | cwchar \ |
505 | clocale \ |
|
|
506 | ) |
487 | ) |
507 | |
|
|
508 | AC_HEADER_TIME |
|
|
509 | |
|
|
510 | dnl# check to allow both <termios.h> and <sys/ioctl.h> |
|
|
511 | AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl, |
|
|
512 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h> |
|
|
513 | #include <sys/ioctl.h> |
|
|
514 | #ifdef HAVE_TERMIOS_H |
|
|
515 | #include <termios.h> |
|
|
516 | #endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])]) |
|
|
517 | |
488 | |
518 | AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, |
489 | AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, |
519 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])]) |
490 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])]) |
520 | if test x$rxvt_cv_xpointer = xyes; then |
491 | if test x$rxvt_cv_xpointer = xyes; then |
521 | AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) |
492 | AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) |
… | |
… | |
534 | )]) |
505 | )]) |
535 | if test x$rxvt_xlib_illegal_access = xyes; then |
506 | if test x$rxvt_xlib_illegal_access = xyes; then |
536 | AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it) |
507 | AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it) |
537 | fi |
508 | fi |
538 | |
509 | |
539 | AC_C_CONST |
|
|
540 | AC_C_INLINE |
|
|
541 | |
|
|
542 | dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow. |
|
|
543 | |
|
|
544 | dnl# -------------------------------------------------------------------------- |
510 | dnl# -------------------------------------------------------------------------- |
545 | dnl# CHECKING FOR MISSING TYPEDEFS |
511 | dnl# CHECKING FOR MISSING TYPEDEFS |
546 | dnl# -------------------------------------------------------------------------- |
512 | dnl# -------------------------------------------------------------------------- |
547 | dnl# Missing typedefs and replacements |
513 | dnl# Missing typedefs and replacements |
548 | AC_TYPE_MODE_T |
514 | AC_TYPE_MODE_T |
549 | dnl> AC_CHECK_TYPE(umode_t, int) |
|
|
550 | dnl> AC_CHECK_TYPE(off_t, long) |
|
|
551 | AC_TYPE_PID_T |
515 | AC_TYPE_PID_T |
552 | AC_TYPE_UID_T |
516 | AC_TYPE_UID_T |
553 | |
517 | AC_TYPE_INT16_T |
554 | AC_CHECK_SIZEOF(short, 2) |
518 | AC_TYPE_UINT16_T |
555 | AC_CHECK_SIZEOF(int, 4) |
519 | AC_TYPE_INT32_T |
556 | dnl AC_CHECK_SIZEOF(long, 4) |
520 | AC_TYPE_UINT32_T |
557 | AC_CHECK_SIZEOF(long long, 8) |
|
|
558 | AC_CHECK_SIZEOF(int *, 4) |
|
|
559 | |
|
|
560 | dnl# see usage below |
|
|
561 | AC_DEFUN([RXVT_CHECK_SIZE], |
|
|
562 | [AC_CACHE_CHECK([for $2], $1, |
|
|
563 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl |
|
|
564 | if test "$ac_cv_sizeof_char" -ge $3; then |
|
|
565 | $1="$4 char" |
|
|
566 | else |
|
|
567 | if test "$ac_cv_sizeof_short" -ge $3; then |
|
|
568 | $1="$4 short" |
|
|
569 | else |
|
|
570 | if test "$ac_cv_sizeof_int" -ge $3; then |
|
|
571 | $1="$4 int" |
|
|
572 | else |
|
|
573 | if test "$ac_cv_sizeof_long" -ge $3; then |
|
|
574 | $1="$4 long" |
|
|
575 | else |
|
|
576 | if test "$ac_cv_sizeof_long_long" -ge $3; then |
|
|
577 | $1="$4 long long" |
|
|
578 | else |
|
|
579 | $1="$4 $5" # we _must_ have a (possibly wrong) default |
|
|
580 | fi |
|
|
581 | fi |
|
|
582 | fi |
|
|
583 | fi |
|
|
584 | fi])])] |
|
|
585 | if test x"$$1" != xyes; then |
|
|
586 | $6="typedef $$1 $2;" |
|
|
587 | else |
|
|
588 | if test x"$4" = x; then |
|
|
589 | $6="/* typedef $5 $2; */" |
|
|
590 | else |
|
|
591 | $6="/* typedef $4 $5 $2; */" |
|
|
592 | fi |
|
|
593 | fi dnl |
|
|
594 | ) |
|
|
595 | dnl# |
|
|
596 | dnl# Look for types the system may know about anyway. |
|
|
597 | dnl# |
|
|
598 | RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef) |
|
|
599 | AC_SUBST(rxvt_int16_typedef) |
|
|
600 | RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef) |
|
|
601 | AC_SUBST(rxvt_uint16_typedef) |
|
|
602 | RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef) |
|
|
603 | AC_SUBST(rxvt_int32_typedef) |
|
|
604 | RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef) |
|
|
605 | AC_SUBST(rxvt_uint32_typedef) |
|
|
606 | dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef) |
|
|
607 | dnl AC_SUBST(rxvt_int64_typedef) |
|
|
608 | dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef) |
|
|
609 | dnl AC_SUBST(rxvt_uint64_typedef) |
|
|
610 | dnl# |
|
|
611 | dnl# Now look for another we use |
|
|
612 | dnl# |
|
|
613 | if test "$ac_cv_sizeof_int_p" -eq 8; then |
|
|
614 | rxvt_intp_define="#define intp_t int64_t" |
|
|
615 | rxvt_u_intp_define="#define u_intp_t u_int64_t" |
|
|
616 | else |
|
|
617 | if test "$ac_cv_sizeof_int_p" -eq 4; then |
|
|
618 | rxvt_intp_define="#define intp_t int32_t" |
|
|
619 | rxvt_u_intp_define="#define u_intp_t u_int32_t" |
|
|
620 | else |
|
|
621 | if test "$ac_cv_sizeof_int_p" -eq 2; then |
|
|
622 | rxvt_intp_define="#define intp_t int16_t" |
|
|
623 | rxvt_u_intp_define="#define u_intp_t u_int16_t" |
|
|
624 | else |
|
|
625 | rxvt_intp_define="#error set intp_t" |
|
|
626 | rxvt_u_intp_define="#error set u_intp_t" |
|
|
627 | fi |
|
|
628 | fi |
|
|
629 | fi |
|
|
630 | AC_SUBST(rxvt_intp_define) |
|
|
631 | AC_SUBST(rxvt_u_intp_define) |
|
|
632 | |
521 | |
633 | dnl# -------------------------------------------------------------------------- |
522 | dnl# -------------------------------------------------------------------------- |
634 | dnl# CHECKING FOR LIBRARY FUNCTIONS |
523 | dnl# CHECKING FOR LIBRARY FUNCTIONS |
635 | dnl# -------------------------------------------------------------------------- |
524 | dnl# -------------------------------------------------------------------------- |
636 | AC_TYPE_SIGNAL |
|
|
637 | dnl> AC_FUNC_VPRINTF |
|
|
638 | |
|
|
639 | AC_CHECK_FUNCS(unsetenv) |
525 | AC_CHECK_FUNCS(unsetenv) |
640 | |
526 | |
641 | UTMP_CHECK |
527 | UTMP_CHECK |
642 | |
528 | |
643 | dnl# -------------------------------------------------------------------------- |
529 | dnl# -------------------------------------------------------------------------- |
… | |
… | |
827 | |
713 | |
828 | save_CXXFLAGS="$CXXFLAGS" |
714 | save_CXXFLAGS="$CXXFLAGS" |
829 | save_LIBS="$LIBS" |
715 | save_LIBS="$LIBS" |
830 | CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`" |
716 | CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`" |
831 | LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`" |
717 | LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`" |
832 | AC_TRY_LINK([ |
718 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
833 | #include <EXTERN.h> |
719 | #include <EXTERN.h> |
834 | #include <perl.h> |
720 | #include <perl.h> |
835 | #include <XSUB.h> |
721 | #include <XSUB.h> |
836 | ],[ |
722 | ]], [[ |
837 | PerlInterpreter *perl = perl_alloc (); |
723 | PerlInterpreter *perl = perl_alloc (); |
838 | ],[rxvt_perl_link=yes],[rxvt_perl_link=no]) |
724 | ]])],[rxvt_perl_link=yes],[rxvt_perl_link=no]) |
839 | CXXFLAGS="$save_CXXFLAGS" |
725 | CXXFLAGS="$save_CXXFLAGS" |
840 | LIBS="$save_LIBS" |
726 | LIBS="$save_LIBS" |
841 | |
727 | |
842 | if test x$rxvt_perl_link = xyes; then |
728 | if test x$rxvt_perl_link = xyes; then |
843 | AC_MSG_RESULT(ok) |
729 | AC_MSG_RESULT(ok) |
… | |
… | |
874 | AC_SUBST(AFTERIMAGE_CFLAGS) |
760 | AC_SUBST(AFTERIMAGE_CFLAGS) |
875 | AC_SUBST(AFTERIMAGE_LIBS) |
761 | AC_SUBST(AFTERIMAGE_LIBS) |
876 | |
762 | |
877 | AC_ARG_PROGRAM |
763 | AC_ARG_PROGRAM |
878 | |
764 | |
879 | dnl# test for "sun" or "__sun__" before include sys_ioctl |
|
|
880 | |
|
|
881 | dnl# revert HAVE_BLAH_H into a "#include <blah.h>" |
765 | dnl# revert HAVE_BLAH_H into a "#include <blah.h>" |
882 | AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl |
766 | AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl |
883 | [if test "$$3" = "$4" -o "$$5" = "$6"; then |
767 | [if test "$$3" = "$4" -o "$$5" = "$6"; then |
884 | $1="#include <$2>" |
768 | $1="#include <$2>" |
885 | else |
769 | else |
886 | $1="/* #include <$2> */" |
770 | $1="/* #include <$2> */" |
887 | fi dnl |
771 | fi dnl |
888 | AC_SUBST($1)]) |
772 | AC_SUBST($1)]) |
889 | |
773 | |
890 | RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch) |
774 | RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch) |
891 | RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch) |
|
|
892 | RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch) |
|
|
893 | RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch) |
|
|
894 | RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch) |
|
|
895 | RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch) |
|
|
896 | RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch) |
|
|
897 | RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch) |
|
|
898 | RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch) |
775 | RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, ac_cv_header_sys_ioctl_h, yes, notset, dontmatch) |
899 | RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch) |
|
|
900 | RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch) |
776 | RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch) |
901 | RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch) |
|
|
902 | RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes) |
|
|
903 | |
777 | |
904 | AC_CONFIG_FILES([Makefile \ |
778 | AC_CONFIG_FILES([Makefile \ |
905 | doc/Makefile \ |
779 | doc/Makefile \ |
906 | src/Makefile \ |
780 | src/Makefile \ |
907 | src/rxvtlib.h \ |
781 | src/rxvtlib.h \ |