… | |
… | |
30 | AC_PROG_CXX |
30 | AC_PROG_CXX |
31 | AC_PROG_CPP |
31 | AC_PROG_CPP |
32 | AC_PROG_INSTALL |
32 | AC_PROG_INSTALL |
33 | |
33 | |
34 | AC_AIX |
34 | AC_AIX |
|
|
35 | AC_GNU_SOURCE |
35 | AC_ISC_POSIX |
36 | AC_ISC_POSIX |
36 | AC_LANG(C++) |
37 | AC_LANG(C++) |
37 | |
38 | |
38 | dnl check wether we can link with gcc -lsupc++ |
39 | dnl check wether we can link with gcc -lsupc++ |
39 | if test x$GCC = xyes && test x$GXX = xyes; then |
40 | if test x$GCC = xyes && test x$GXX = xyes; then |
… | |
… | |
68 | CXXFLAGS="-O" |
69 | CXXFLAGS="-O" |
69 | fi |
70 | fi |
70 | CFLAGS="$CXXFLAGS" |
71 | CFLAGS="$CXXFLAGS" |
71 | fi |
72 | fi |
72 | |
73 | |
73 | AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.) |
|
|
74 | |
|
|
75 | case $host in |
74 | case $host in |
76 | *-*-solaris* ) |
75 | *-*-solaris* ) |
77 | 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) |
78 | ;; |
77 | ;; |
79 | esac |
78 | esac |
80 | |
|
|
81 | dnl if test x$GXX = xyes; then |
|
|
82 | dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now... |
|
|
83 | dnl fi |
|
|
84 | |
79 | |
85 | dnl# FreeBSD needs to link libxpg4 |
80 | dnl# FreeBSD needs to link libxpg4 |
86 | 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"])]) |
87 | |
82 | |
88 | dnl# solaris needs to link libnsl and socket |
83 | dnl# solaris needs to link libnsl and socket |
… | |
… | |
480 | |
475 | |
481 | dnl# -------------------------------------------------------------------------- |
476 | dnl# -------------------------------------------------------------------------- |
482 | dnl# CHECKING FOR HEADER FILES |
477 | dnl# CHECKING FOR HEADER FILES |
483 | dnl# -------------------------------------------------------------------------- |
478 | dnl# -------------------------------------------------------------------------- |
484 | AC_CHECK_HEADERS( \ |
479 | AC_CHECK_HEADERS( \ |
485 | assert.h \ |
|
|
486 | fcntl.h \ |
|
|
487 | stdarg.h \ |
|
|
488 | stdlib.h \ |
|
|
489 | string.h \ |
|
|
490 | termios.h \ |
|
|
491 | unistd.h \ |
|
|
492 | sys/byteorder.h \ |
480 | sys/byteorder.h \ |
493 | sys/ioctl.h \ |
481 | sys/ioctl.h \ |
494 | sys/select.h \ |
|
|
495 | sys/sockio.h \ |
482 | sys/sockio.h \ |
496 | sys/strredir.h \ |
483 | sys/strredir.h \ |
497 | sys/time.h \ |
|
|
498 | stdint.h \ |
484 | stdint.h \ |
499 | wchar.h \ |
485 | wchar.h \ |
500 | cwchar \ |
486 | cwchar \ |
501 | clocale \ |
|
|
502 | ) |
487 | ) |
503 | |
|
|
504 | dnl# check to allow both <termios.h> and <sys/ioctl.h> |
|
|
505 | AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl, |
|
|
506 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h> |
|
|
507 | #include <sys/ioctl.h> |
|
|
508 | #ifdef HAVE_TERMIOS_H |
|
|
509 | #include <termios.h> |
|
|
510 | #endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])]) |
|
|
511 | |
488 | |
512 | AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, |
489 | AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, |
513 | [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])]) |
514 | if test x$rxvt_cv_xpointer = xyes; then |
491 | if test x$rxvt_cv_xpointer = xyes; then |
515 | AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) |
492 | AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) |
… | |
… | |
533 | dnl# -------------------------------------------------------------------------- |
510 | dnl# -------------------------------------------------------------------------- |
534 | dnl# CHECKING FOR MISSING TYPEDEFS |
511 | dnl# CHECKING FOR MISSING TYPEDEFS |
535 | dnl# -------------------------------------------------------------------------- |
512 | dnl# -------------------------------------------------------------------------- |
536 | dnl# Missing typedefs and replacements |
513 | dnl# Missing typedefs and replacements |
537 | AC_TYPE_MODE_T |
514 | AC_TYPE_MODE_T |
538 | dnl> AC_CHECK_TYPE(umode_t, int) |
|
|
539 | dnl> AC_CHECK_TYPE(off_t, long) |
|
|
540 | AC_TYPE_PID_T |
515 | AC_TYPE_PID_T |
541 | AC_TYPE_UID_T |
516 | AC_TYPE_UID_T |
542 | |
517 | AC_TYPE_INT16_T |
543 | AC_CHECK_SIZEOF(short, 2) |
518 | AC_TYPE_UINT16_T |
544 | AC_CHECK_SIZEOF(int, 4) |
519 | AC_TYPE_INT32_T |
545 | dnl AC_CHECK_SIZEOF(long, 4) |
520 | AC_TYPE_UINT32_T |
546 | AC_CHECK_SIZEOF(long long, 8) |
|
|
547 | AC_CHECK_SIZEOF(int *, 4) |
|
|
548 | |
|
|
549 | dnl# see usage below |
|
|
550 | AC_DEFUN([RXVT_CHECK_SIZE], |
|
|
551 | [AC_CACHE_CHECK([for $2], $1, |
|
|
552 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl |
|
|
553 | if test "$ac_cv_sizeof_char" -ge $3; then |
|
|
554 | $1="$4 char" |
|
|
555 | else |
|
|
556 | if test "$ac_cv_sizeof_short" -ge $3; then |
|
|
557 | $1="$4 short" |
|
|
558 | else |
|
|
559 | if test "$ac_cv_sizeof_int" -ge $3; then |
|
|
560 | $1="$4 int" |
|
|
561 | else |
|
|
562 | if test "$ac_cv_sizeof_long" -ge $3; then |
|
|
563 | $1="$4 long" |
|
|
564 | else |
|
|
565 | if test "$ac_cv_sizeof_long_long" -ge $3; then |
|
|
566 | $1="$4 long long" |
|
|
567 | else |
|
|
568 | $1="$4 $5" # we _must_ have a (possibly wrong) default |
|
|
569 | fi |
|
|
570 | fi |
|
|
571 | fi |
|
|
572 | fi |
|
|
573 | fi])])] |
|
|
574 | if test x"$$1" != xyes; then |
|
|
575 | $6="typedef $$1 $2;" |
|
|
576 | else |
|
|
577 | if test x"$4" = x; then |
|
|
578 | $6="/* typedef $5 $2; */" |
|
|
579 | else |
|
|
580 | $6="/* typedef $4 $5 $2; */" |
|
|
581 | fi |
|
|
582 | fi dnl |
|
|
583 | ) |
|
|
584 | dnl# |
|
|
585 | dnl# Look for types the system may know about anyway. |
|
|
586 | dnl# |
|
|
587 | RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef) |
|
|
588 | AC_SUBST(rxvt_int16_typedef) |
|
|
589 | RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef) |
|
|
590 | AC_SUBST(rxvt_uint16_typedef) |
|
|
591 | RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef) |
|
|
592 | AC_SUBST(rxvt_int32_typedef) |
|
|
593 | RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef) |
|
|
594 | AC_SUBST(rxvt_uint32_typedef) |
|
|
595 | dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef) |
|
|
596 | dnl AC_SUBST(rxvt_int64_typedef) |
|
|
597 | dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef) |
|
|
598 | dnl AC_SUBST(rxvt_uint64_typedef) |
|
|
599 | dnl# |
|
|
600 | dnl# Now look for another we use |
|
|
601 | dnl# |
|
|
602 | if test "$ac_cv_sizeof_int_p" -eq 8; then |
|
|
603 | rxvt_intp_define="#define intp_t int64_t" |
|
|
604 | rxvt_u_intp_define="#define u_intp_t u_int64_t" |
|
|
605 | else |
|
|
606 | if test "$ac_cv_sizeof_int_p" -eq 4; then |
|
|
607 | rxvt_intp_define="#define intp_t int32_t" |
|
|
608 | rxvt_u_intp_define="#define u_intp_t u_int32_t" |
|
|
609 | else |
|
|
610 | if test "$ac_cv_sizeof_int_p" -eq 2; then |
|
|
611 | rxvt_intp_define="#define intp_t int16_t" |
|
|
612 | rxvt_u_intp_define="#define u_intp_t u_int16_t" |
|
|
613 | else |
|
|
614 | rxvt_intp_define="#error set intp_t" |
|
|
615 | rxvt_u_intp_define="#error set u_intp_t" |
|
|
616 | fi |
|
|
617 | fi |
|
|
618 | fi |
|
|
619 | AC_SUBST(rxvt_intp_define) |
|
|
620 | AC_SUBST(rxvt_u_intp_define) |
|
|
621 | |
521 | |
622 | dnl# -------------------------------------------------------------------------- |
522 | dnl# -------------------------------------------------------------------------- |
623 | dnl# CHECKING FOR LIBRARY FUNCTIONS |
523 | dnl# CHECKING FOR LIBRARY FUNCTIONS |
624 | dnl# -------------------------------------------------------------------------- |
524 | dnl# -------------------------------------------------------------------------- |
625 | AC_CHECK_FUNCS(unsetenv) |
525 | AC_CHECK_FUNCS(unsetenv) |
… | |
… | |
813 | |
713 | |
814 | save_CXXFLAGS="$CXXFLAGS" |
714 | save_CXXFLAGS="$CXXFLAGS" |
815 | save_LIBS="$LIBS" |
715 | save_LIBS="$LIBS" |
816 | CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`" |
716 | CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`" |
817 | LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`" |
717 | LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`" |
818 | AC_TRY_LINK([ |
718 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
819 | #include <EXTERN.h> |
719 | #include <EXTERN.h> |
820 | #include <perl.h> |
720 | #include <perl.h> |
821 | #include <XSUB.h> |
721 | #include <XSUB.h> |
822 | ],[ |
722 | ]], [[ |
823 | PerlInterpreter *perl = perl_alloc (); |
723 | PerlInterpreter *perl = perl_alloc (); |
824 | ],[rxvt_perl_link=yes],[rxvt_perl_link=no]) |
724 | ]])],[rxvt_perl_link=yes],[rxvt_perl_link=no]) |
825 | CXXFLAGS="$save_CXXFLAGS" |
725 | CXXFLAGS="$save_CXXFLAGS" |
826 | LIBS="$save_LIBS" |
726 | LIBS="$save_LIBS" |
827 | |
727 | |
828 | if test x$rxvt_perl_link = xyes; then |
728 | if test x$rxvt_perl_link = xyes; then |
829 | AC_MSG_RESULT(ok) |
729 | AC_MSG_RESULT(ok) |
… | |
… | |
860 | AC_SUBST(AFTERIMAGE_CFLAGS) |
760 | AC_SUBST(AFTERIMAGE_CFLAGS) |
861 | AC_SUBST(AFTERIMAGE_LIBS) |
761 | AC_SUBST(AFTERIMAGE_LIBS) |
862 | |
762 | |
863 | AC_ARG_PROGRAM |
763 | AC_ARG_PROGRAM |
864 | |
764 | |
865 | dnl# test for "sun" or "__sun__" before include sys_ioctl |
|
|
866 | |
|
|
867 | dnl# revert HAVE_BLAH_H into a "#include <blah.h>" |
765 | dnl# revert HAVE_BLAH_H into a "#include <blah.h>" |
868 | AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl |
766 | AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl |
869 | [if test "$$3" = "$4" -o "$$5" = "$6"; then |
767 | [if test "$$3" = "$4" -o "$$5" = "$6"; then |
870 | $1="#include <$2>" |
768 | $1="#include <$2>" |
871 | else |
769 | else |
872 | $1="/* #include <$2> */" |
770 | $1="/* #include <$2> */" |
873 | fi dnl |
771 | fi dnl |
874 | AC_SUBST($1)]) |
772 | AC_SUBST($1)]) |
875 | |
773 | |
876 | 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) |
877 | RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch) |
|
|
878 | RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch) |
|
|
879 | RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch) |
|
|
880 | RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch) |
|
|
881 | RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch) |
|
|
882 | RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch) |
|
|
883 | RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch) |
|
|
884 | 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) |
885 | RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch) |
|
|
886 | 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) |
887 | RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch) |
|
|
888 | RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes) |
|
|
889 | |
777 | |
890 | AC_CONFIG_FILES([Makefile \ |
778 | AC_CONFIG_FILES([Makefile \ |
891 | doc/Makefile \ |
779 | doc/Makefile \ |
892 | src/Makefile \ |
780 | src/Makefile \ |
893 | src/rxvtlib.h \ |
781 | src/rxvtlib.h \ |