| --- configure.in~ 2008-11-23 17:43:48.000000000 +0000 |
| +++ configure.in 2008-11-23 17:43:48.000000000 +0000 |
| @@ -46,6 +46,7 @@ |
| AC_PROG_GCC_TRADITIONAL |
| AC_ISC_POSIX |
| |
| +AC_MSG_CHECKING([for compiler sanity]) |
| AC_TRY_RUN(main(){exit(0);},,[ |
| if test $CC != cc ; then |
| AC_NOTE(Your $CC failed - restarting with CC=cc) |
| @@ -54,22 +55,17 @@ |
| export CC |
| exec $0 $configure_args |
| fi |
| -]) |
| - |
| -AC_TRY_RUN(main(){exit(0);},, |
| -exec 5>&2 |
| -eval $ac_link |
| -AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;) |
| -AC_NOTE($ac_compile) |
| -AC_MSG_ERROR(Can't run the compiler - sorry)) |
| +],AC_MSG_WARN([skipping test due to crosscompilation])) |
| |
| +AC_MSG_CHECKING([if compiler sets exit status]) |
| AC_TRY_RUN([ |
| main() |
| { |
| int __something_strange_(); |
| __something_strange_(0); |
| } |
| -],AC_MSG_ERROR(Your compiler does not set the exit status - sorry)) |
| +],AC_MSG_ERROR(Your compiler does not set the exit status - sorry),, |
| +AC_MSG_WARN(skipping test due to crosscompilation)) |
| |
| AC_PROG_AWK |
| |
| @@ -103,6 +99,7 @@ |
| dnl |
| dnl **** special unix variants **** |
| dnl |
| +AH_TEMPLATE(ISC,[]) |
| if test -n "$ISC"; then |
| AC_DEFINE(ISC) LIBS="$LIBS -linet" |
| fi |
| @@ -114,11 +111,13 @@ |
| dnl fi |
| dnl fi |
| |
| +AH_TEMPLATE([sysV68],[]) |
| if test -f /sysV68 ; then |
| AC_DEFINE(sysV68) |
| fi |
| |
| AC_CHECKING(for MIPS) |
| +AH_TEMPLATE([MIPS],[]) |
| if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then |
| oldlibs="$LIBS" |
| test -f /bin/mx || LIBS="$LIBS -lmld" # for nlist. But not on alpha. |
| @@ -132,6 +131,8 @@ |
| AC_CHECKING(wait3) |
| AC_TRY_LINK(,[wait3();], , |
| AC_CHECKING(wait2) |
| +AH_TEMPLATE([USE_WAIT2],[On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com]) |
| +dnl TODO(Hannes) shipped config.h.in wraps the define in #ifdef BSDWAIT |
| AC_TRY_LINK(,[wait2();], |
| dnl John Rouillard (rouilj@sni-usa.com): |
| dnl need -I/usr/include/bsd in RISCOS otherwise sockets are broken, no |
| @@ -154,9 +155,11 @@ |
| oldlibs="$LIBS" |
| LIBS="$LIBS -lpyr" |
| AC_CHECKING(Pyramid OSX) |
| +AH_TEMPLATE([OSX], [Pyramid OSX]) |
| AC_TRY_LINK(,[open_controlling_pty("")], AC_DEFINE(OSX), LIBS="$oldlibs") |
| fi |
| |
| +AH_TEMPLATE([POSIX],[Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).]) |
| dnl ghazi@caip.rutgers.edu (Kaveh R. Ghazi): |
| dnl BBN butterfly is not POSIX, but a MACH BSD system. |
| dnl Do not define POSIX and TERMIO. |
| @@ -183,6 +186,7 @@ |
| fi |
| |
| AC_CHECKING(for System V) |
| +AH_TEMPLATE([SYSV], [Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)]) |
| AC_TRY_COMPILE( |
| [#include <sys/types.h> |
| #include <signal.h> |
| @@ -226,6 +230,9 @@ |
| dnl |
| |
| AC_CHECKING(BSD job jontrol) |
| +AH_TEMPLATE([BSDJOBS], |
| +[Define BSDJOBS if you have BSD-style job control (both process |
| + groups and a tty that deals correctly with them)]) |
| AC_TRY_LINK( |
| [#include <sys/types.h> |
| #include <sys/ioctl.h> |
| @@ -246,6 +253,10 @@ |
| dnl **** setreuid(), seteuid() **** |
| dnl |
| AC_CHECKING(setreuid) |
| +AH_TEMPLATE([HAVE_SETREUID], |
| +[If your system has the calls setreuid() and setregid(), |
| + define HAVE_SETREUID. Otherwise screen will use a forked process to |
| + safely create output files without retaining any special privileges.]) |
| AC_TRY_LINK(,[ |
| #ifdef __hpux |
| setresuid(0, 0, 0); |
| @@ -260,6 +271,9 @@ |
| dnl Solaris seteuid doesn't change the saved uid, bad for |
| dnl multiuser screen sessions |
| AC_CHECKING(seteuid) |
| +AH_TEMPLATE([HAVE_SETEUID], |
| +[If your system supports BSD4.4's seteuid() and setegid(), define |
| + HAVE_SETEUID.]) |
| AC_TRY_LINK(,[ |
| #if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(sun) && defined(SVR4)) || defined(ISC) || defined(sony_news) |
| seteuid_is_broken(0); |
| @@ -284,6 +298,8 @@ |
| dnl |
| |
| AC_CHECKING(fifos) |
| +AC_CACHE_CHECK([usable fifos], |
| + [screen_cv_sys_fifo_usable], |
| AC_TRY_RUN([ |
| #include <sys/types.h> |
| #include <sys/stat.h> |
| @@ -348,12 +364,15 @@ |
| exit(1); |
| exit(0); |
| } |
| -], AC_NOTE(- your fifos are usable) fifo=1, |
| -AC_NOTE(- your fifos are not usable)) |
| +], screen_cv_sys_fifo_usable=yes, screen_cv_sys_fifo_usable=no)) |
| rm -f /tmp/conftest* |
| |
| -if test -n "$fifo"; then |
| -AC_CHECKING(for broken fifo implementation) |
| +if test X"$screen_cv_sys_fifo_usable" = Xyes; then |
| +AH_TEMPLATE([BROKEN_PIPE], |
| +[Define this if your system exits select() immediatly if a pipe is |
| + opened read-only and no writer has opened it.]) |
| +AC_CACHE_CHECK([broken fifo implementation], |
| + [screen_cv_sys_fifo_broken_impl], |
| AC_TRY_RUN([ |
| #include <sys/types.h> |
| #include <fcntl.h> |
| @@ -398,9 +416,12 @@ |
| exit(1); |
| exit(0); |
| } |
| -], AC_NOTE(- your implementation is ok), |
| -AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1) |
| +], screen_cv_sys_fifo_broken_impl=no, |
| +screen_cv_sys_fifo_broken_impl=yes)) |
| +if test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then |
| + AC_DEFINE(BROKEN_PIPE) |
| +fi |
| rm -f /tmp/conftest* |
| fi |
| |
| dnl |
| @@ -410,6 +430,8 @@ |
| dnl |
| |
| AC_CHECKING(sockets) |
| +AC_CACHE_CHECK([sockets are usable], |
| + [screen_cv_sys_sockets_usable], |
| AC_TRY_RUN([ |
| #include <sys/types.h> |
| #include <sys/socket.h> |
| @@ -460,12 +482,16 @@ |
| exit(1); |
| exit(0); |
| } |
| -], AC_NOTE(- your sockets are usable) sock=1, |
| -AC_NOTE(- your sockets are not usable)) |
| -rm -f /tmp/conftest* |
| +], screen_cv_sys_sockets_usable=yes, |
| +screen_cv_sys_sockets_usable=no)) |
| |
| -if test -n "$sock"; then |
| +if test X"$screen_cv_sys_sockets_usable" = Xyes; then |
| AC_CHECKING(socket implementation) |
| +AH_TEMPLATE([SOCK_NOT_IN_FS], |
| +[Define this if the unix-domain socket implementation doesn't |
| + create a socket in the filesystem.]) |
| +AC_CACHE_CHECK([if sockets are not stored in the filesystem], |
| + [screen_cv_sys_sockets_nofs], |
| AC_TRY_RUN([ |
| #include <sys/types.h> |
| #include <sys/stat.h> |
| @@ -491,22 +517,25 @@ |
| close(s); |
| exit(0); |
| } |
| -],AC_NOTE(- you are normal), |
| -AC_NOTE(- unix domain sockets are not kept in the filesystem) |
| -AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1) |
| -rm -f /tmp/conftest* |
| +], screen_cv_sys_sockets_nofs=no, |
| +screen_cv_sys_sockets_nofs=yes)) |
| + |
| +if test X"$screen_cv_sys_sockets_nofs" = Xyes; then |
| + AC_DEFINE(SOCK_NOT_IN_FS) |
| +fi |
| fi |
| |
| |
| dnl |
| dnl **** choose sockets or fifos **** |
| dnl |
| -if test -n "$fifo"; then |
| - if test -n "$sock"; then |
| - if test -n "$nore"; then |
| +AH_TEMPLATE([NAMEDPIPE], [Define this if your system supports named pipes.]) |
| +if test X"$screen_cv_sys_fifo_usable" = Xyes; then |
| + if test X"$screen_cv_sys_sockets_usable" = Xyes; then |
| + if test X"$screen_cv_sys_sockets_nofs" = Xyes; then |
| AC_NOTE(- hmmm... better take the fifos) |
| AC_DEFINE(NAMEDPIPE) |
| - elif test -n "$fifobr"; then |
| + elif test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then |
| AC_NOTE(- as your fifos are broken lets use the sockets.) |
| else |
| AC_NOTE(- both sockets and fifos usable. let's take fifos.) |
| @@ -516,7 +545,7 @@ |
| AC_NOTE(- using named pipes, of course) |
| AC_DEFINE(NAMEDPIPE) |
| fi |
| -elif test -n "$sock"; then |
| +elif test X"$screen_cv_sys_sockets_usable" = Xyes; then |
| AC_NOTE(- using unix-domain sockets, of course) |
| else |
| AC_MSG_ERROR(you have neither usable sockets nor usable pipes -> no screen) |
| @@ -526,7 +555,11 @@ |
| dnl **** check the select implementation **** |
| dnl |
| |
| -AC_CHECKING(select return value) |
| +AH_TEMPLATE([SELECT_BROKEN], |
| +[If the select return value doesn't treat a descriptor that is |
| + usable for reading and writing as two hits, define SELECT_BROKEN.]) |
| +AC_CACHE_CHECK([for broken select return value], |
| + [screen_cv_sys_select_broken_retval], |
| AC_TRY_RUN([ |
| #include <sys/types.h> |
| #include <sys/stat.h> |
| @@ -625,17 +658,26 @@ |
| exit(1); |
| exit(0); |
| } |
| -],AC_NOTE(- select is ok), |
| -AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN)) |
| +], screen_cv_sys_select_broken_retval=no, |
| +screen_cv_sys_select_broken_retval=yes)) |
| +if test X"$screen_cv_sys_select_broken_retval" = Xyes; then |
| + AC_DEFINE(SELECT_BROKEN) |
| +fi |
| |
| dnl |
| dnl **** termcap or terminfo **** |
| dnl |
| +AH_TEMPLATE([TERMINFO], |
| +[Define TERMINFO if your machine emulates the termcap routines |
| + with the terminfo database. |
| + Thus the .screenrc file is parsed for |
| + the command 'terminfo' and not 'termcap']) |
| + |
| AC_CHECKING(for tgetent) |
| AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, |
| olibs="$LIBS" |
| -LIBS="-lcurses $olibs" |
| AC_CHECKING(libcurses) |
| +AC_CHECK_LIB(ncursesw,tgetent) |
| AC_TRY_LINK(,[ |
| #ifdef __hpux |
| __sorry_hpux_libcurses_is_totally_broken_in_10_10(); |
| @@ -654,24 +696,39 @@ |
| AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, |
| AC_MSG_ERROR(!!! no tgetent - no screen)))))) |
| |
| -AC_TRY_RUN([ |
| +AC_CACHE_CHECK([using terminfo database],[screen_cv_sys_terminfo_used], |
| + AC_TRY_RUN([ |
| main() |
| { |
| exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1); |
| -}], AC_NOTE(- you use the termcap database), |
| -AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO)) |
| +} |
| + ], screen_cv_sys_terminfo_used=no, |
| + screen_cv_sys_terminfo_used=yes) |
| +) |
| + |
| +if test X"$screen_cv_sys_terminfo_used" = Xyes; then |
| + AC_DEFINE(TERMINFO) |
| +fi |
| + |
| AC_CHECKING(ospeed) |
| +AH_TEMPLATE([NEED_OSPEED],[If your library does not define ospeed, define this.]) |
| AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED)) |
| |
| dnl |
| dnl **** PTY specific things **** |
| dnl |
| +AH_TEMPLATE([HAVE_DEV_PTC], |
| +[define HAVE_DEV_PTC if you have a /dev/ptc character special |
| + device.]) |
| AC_CHECKING(for /dev/ptc) |
| if test -r /dev/ptc; then |
| AC_DEFINE(HAVE_DEV_PTC) |
| fi |
| |
| AC_CHECKING(for SVR4 ptys) |
| +AH_TEMPLATE([HAVE_SVR4_PTYS], |
| +[define HAVE_SVR4_PTYS if you have a /dev/ptmx character special |
| + device and support the ptsname(), grantpt(), unlockpt() functions.]) |
| sysvr4ptys= |
| if test -c /dev/ptmx ; then |
| AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS) |
| @@ -687,6 +744,13 @@ |
| fi |
| |
| AC_CHECKING(for ptyranges) |
| +AH_TEMPLATE([PTYRANGE0], |
| +[define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen |
| + to unusual environments. E.g. For SunOs the defaults are "qpr" and |
| + "0123456789abcdef". For SunOs 4.1.2 |
| + #define PTYRANGE0 "pqrstuvwxyzPQRST" |
| + is recommended by Dan Jacobson.]) |
| +AH_TEMPLATE([PTYRANGE1],[]) |
| if test -d /dev/ptym ; then |
| pdir='/dev/ptym' |
| else |
| @@ -850,20 +914,39 @@ |
| dnl |
| dnl **** loadav **** |
| dnl |
| + |
| +AH_TEMPLATE([LOADAV], |
| +[If you want the "time" command to display the current load average |
| + define LOADAV. Maybe you must install screen with the needed |
| + privileges to read /dev/kmem. |
| + Note that NLIST_ stuff is only checked, when getloadavg() is not available. |
| +]) |
| +AH_TEMPLATE([LOADAV_NUM]) |
| +AH_TEMPLATE([LOADAV_TYPE]) |
| +AH_TEMPLATE([LOADAV_SCALE]) |
| +AH_TEMPLATE([LOADAV_GETLOADAVG]) |
| +AH_TEMPLATE([LOADAV_UNIX]) |
| +AH_TEMPLATE([LOADAV_AVENRUN]) |
| +AH_TEMPLATE([LOADAV_USE_NLIST64]) |
| + |
| +AH_TEMPLATE([NLIST_DECLARED]) |
| +AH_TEMPLATE([NLIST_STRUCT]) |
| +AH_TEMPLATE([NLIST_NAME_UNION]) |
| + |
| AC_CHECKING(for libutil(s)) |
| -test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils" |
| -test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil" |
| +dnl I have no idea whether "login" is an appropriate symbol to check for here - Hannes |
| +AC_CHECK_LIB(utils,login) |
| +AC_CHECK_LIB(util,login) |
| |
| AC_CHECKING(getloadavg) |
| AC_TRY_LINK(,[getloadavg((double *)0, 0);], |
| AC_DEFINE(LOADAV_GETLOADAVG) load=1, |
| -if test -f /usr/lib/libkvm.a ; then |
| olibs="$LIBS" |
| -LIBS="$LIBS -lkvm" |
| +AC_CHECK_LIB(kvm,kvm_open, |
| AC_CHECKING(getloadavg with -lkvm) |
| AC_TRY_LINK(,[getloadavg((double *)0, 0);], |
| AC_DEFINE(LOADAV_GETLOADAVG) load=1, LIBS="$olibs") |
| -fi |
| +) |
| ) |
| |
| if test -z "$load" ; then |
| @@ -1005,6 +1088,11 @@ |
| dnl |
| dnl **** signal handling **** |
| dnl |
| + |
| +AH_TEMPLATE([SIGVOID], |
| +[Define SIGVOID if your signal handlers return void. On older |
| + systems, signal returns int, but on newer ones, it returns void.]) |
| + |
| if test -n "$posix" ; then |
| |
| dnl POSIX has reliable signals with void return type. |
| @@ -1014,6 +1102,7 @@ |
| else |
| |
| AC_CHECKING(return type of signal handlers) |
| +AH_TEMPLATE([USESIGSET], [Define USESIGSET if you have sigset for BSD 4.1 reliable signals.]) |
| AC_TRY_COMPILE( |
| [#include <sys/types.h> |
| #include <signal.h> |
| @@ -1033,6 +1122,9 @@ |
| #endif |
| ], AC_DEFINE(USESIGSET)) |
| AC_CHECKING(signal implementation) |
| +AH_TEMPLATE([SYSVSIGS], |
| +[Define SYSVSIGS if signal handlers must be reinstalled after |
| + they have been called.]) |
| AC_TRY_RUN([ |
| #include <sys/types.h> |
| #include <signal.h> |
| @@ -1075,13 +1167,14 @@ |
| dnl |
| |
| AC_CHECKING(for crypt and sec libraries) |
| -test -f /lib/libcrypt_d.a || test -f /usr/lib/libcrypt_d.a && LIBS="$LIBS -lcrypt_d" |
| +dnl I have no idea whether "crypt" is an appropriate symbol to check for here - Hannes |
| +AC_CHECK_LIB(crypt_d,crypt) |
| oldlibs="$LIBS" |
| -LIBS="$LIBS -lcrypt" |
| AC_CHECKING(crypt) |
| AC_TRY_LINK(,,,LIBS="$oldlibs") |
| -test -f /lib/libsec.a || test -f /usr/lib/libsec.a && LIBS="$LIBS -lsec" |
| -test -f /lib/libshadow.a || test -f /usr/lib/libshadow.a && LIBS="$LIBS -lshadow" |
| +AC_CHECK_LIB(crypt,crypt) |
| +AC_CHECK_LIB(sec,crypt) |
| +AC_CHECK_LIB(shadow,getspnam) |
| oldlibs="$LIBS" |
| LIBS="$LIBS -lsun" |
| AC_CHECKING(IRIX sun library) |
| @@ -1104,6 +1197,13 @@ |
| dnl **** misc things **** |
| dnl |
| AC_CHECKING(wait union) |
| +AH_TEMPLATE([BSDWAIT], |
| +[Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h> |
| + |
| + Only allow BSDWAIT i.e. wait3 on nonposix systems, since |
| + posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl |
| + TODO(Hannes) shipped config.h.in does that with a #ifdef |
| +]) |
| AC_TRY_COMPILE([#include <sys/types.h> |
| #include <sys/wait.h> |
| ],[ |
| @@ -1114,6 +1214,13 @@ |
| #endif |
| ],AC_DEFINE(BSDWAIT)) |
| |
| +AH_TEMPLATE([TERMIO], |
| +[Define TERMIO if you have struct termio instead of struct sgttyb. |
| + This is usually the case for SVID systems, where BSD uses sgttyb. |
| + POSIX systems should define this anyway, even though they use |
| + struct termios.]) |
| + |
| + |
| if test -z "$butterfly"; then |
| AC_CHECKING(for termio or termios) |
| AC_TRY_CPP([#include <termio.h>], AC_DEFINE(TERMIO), |
| @@ -1123,17 +1230,35 @@ |
| ) |
| fi |
| |
| +AH_TEMPLATE([CYTERMIO], [Define CYTERMIO if you have cyrillic termio modes.]) |
| + |
| dnl AC_CHECK_HEADER(shadow.h, AC_DEFINE(SHADOWPW)) |
| AC_CHECKING(getspnam) |
| +AH_TEMPLATE([SHADOWPW], |
| +[If the passwords are stored in a shadow file and you want the |
| + builtin lock to work properly, define SHADOWPW.]) |
| AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW)) |
| |
| AC_CHECKING(getttyent) |
| +AH_TEMPLATE([GETTTYENT], |
| +[If your system has the new format /etc/ttys (like 4.3 BSD) and the |
| + getttyent(3) library functions, define GETTTYENT.]) |
| AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT)) |
| |
| AC_CHECKING(fdwalk) |
| +AH_TEMPLATE([HAVE_FDWALK], |
| +[Newer versions of Solaris include fdwalk, which can greatly improve |
| + the startup time of screen; otherwise screen spends a lot of time |
| + closing file descriptors.]) |
| AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK)) |
| |
| -AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments) |
| +AH_TEMPLATE([USEBCOPY], |
| +[Define USEBCOPY if the bcopy/memcpy from your system's C library |
| + supports the overlapping of source and destination blocks. When |
| + undefined, screen uses its own (probably slower) version of bcopy().]) |
| + |
| +AC_CACHE_CHECK([if bcopy handles overlap], |
| + [screen_cv_sys_bcopy_overlap], |
| AC_TRY_RUN([ |
| main() { |
| char buf[10]; |
| @@ -1146,7 +1271,21 @@ |
| if (strncmp(buf, "cdedef", 6)) |
| exit(1); |
| exit(0); /* libc version works properly. */ |
| -}], AC_DEFINE(USEBCOPY)) |
| +}], screen_cv_sys_bcopy_overlap=yes, |
| +screen_cv_sys_bcopy_overlap=no)) |
| +if test X"$screen_cv_sys_bcopy_overlap" = Xyes; then |
| + AC_DEFINE(USEBCOPY) |
| +fi |
| + |
| +AH_TEMPLATE([USEMEMMOVE], |
| +[SYSV machines may have a working memcpy() -- Oh, this is |
| + quite unlikely. Tell me if you see one. |
| + "But then, memmove() should work, if at all available" he thought... |
| + Boing, never say "works everywhere" unless you checked SCO UNIX. |
| + Their memove fails the test in the configure script. Sigh. (Juergen) |
| +]) |
| +AC_CACHE_CHECK([if memmove handles overlap], |
| + [screen_cv_sys_memmove_overlap], |
| |
| AC_TRY_RUN([ |
| #define bcopy(s,d,l) memmove(d,s,l) |
| @@ -1161,9 +1300,15 @@ |
| if (strncmp(buf, "cdedef", 6)) |
| exit(1); |
| exit(0); /* libc version works properly. */ |
| -}], AC_DEFINE(USEMEMMOVE)) |
| - |
| +}], screen_cv_sys_memmove_overlap=yes, |
| +screen_cv_sys_memmove_overlap=no)) |
| +if test X"$screen_cv_sys_memmove_overlap" = Xyes; then |
| + AC_DEFINE(USEMEMMOVE) |
| +fi |
| |
| +AH_TEMPLATE([USEMEMCPY],[]) |
| +AC_CACHE_CHECK([if memcpy handles overlap], |
| + [screen_cv_sys_memcpy_overlap], |
| AC_TRY_RUN([ |
| #define bcopy(s,d,l) memcpy(d,s,l) |
| main() { |
| @@ -1177,9 +1322,19 @@ |
| if (strncmp(buf, "cdedef", 6)) |
| exit(1); |
| exit(0); /* libc version works properly. */ |
| -}], AC_DEFINE(USEMEMCPY)) |
| +}], screen_cv_sys_memcpy_overlap=yes, |
| +screen_cv_sys_memcpy_overlap=no)) |
| +if test X"$screen_cv_sys_memcpy_overlap" = Xyes; then |
| + AC_DEFINE(USEMEMCPY) |
| +fi |
| |
| AC_MSG_CHECKING(long file names) |
| +AH_TEMPLATE([NAME_MAX], |
| +[If you are on a SYS V machine that restricts filename length to 14 |
| + characters, you may need to enforce that by setting NAME_MAX to 14]) |
| +dnl TODO(Hannes) shipped config.h.in has |
| +dnl #undef NAME_MAX /* KEEP_UNDEF_HERE override system value */ |
| +dnl ahead of this |
| (echo 1 > /tmp/conftest9012345) 2>/dev/null |
| (echo 2 > /tmp/conftest9012346) 2>/dev/null |
| val=`cat /tmp/conftest9012345 2>/dev/null` |
| @@ -1192,6 +1347,10 @@ |
| rm -f /tmp/conftest* |
| |
| AC_MSG_CHECKING(for vsprintf) |
| +AH_TEMPLATE([USEVARARGS], |
| +[If your system has vsprintf() and requires the use of the macros in |
| + "varargs.h" to use functions with variable arguments, |
| + define USEVARARGS.]) |
| AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], |
| [AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS)], |
| [AC_MSG_RESULT(no)]) |
| @@ -1199,12 +1358,19 @@ |
| AC_HEADER_DIRENT |
| |
| AC_MSG_CHECKING(for setenv) |
| +AH_TEMPLATE([USESETENV], [If your system has setenv() and unsetenv() define USESETENV]) |
| AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV), |
| AC_MSG_RESULT(no) |
| AC_MSG_CHECKING(for putenv) |
| +AH_TEMPLATE([NEEDPUTENV], |
| +[If your system does not come with a setenv()/putenv()/getenv() |
| + functions, you may bring in our own code by defining NEEDPUTENV.]) |
| AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV) |
| )) |
| AC_MSG_CHECKING([for nl_langinfo(CODESET)]) |
| +AH_TEMPLATE([HAVE_NL_LANGINFO], |
| +[define HAVE_NL_LANGINFO if your system has the nl_langinfo() call |
| + and <langinfo.h> defines CODESET.]) |
| AC_TRY_LINK([ |
| #include <langinfo.h> |
| ],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NL_LANGINFO), AC_MSG_RESULT(no)) |
| @@ -1254,7 +1420,8 @@ |
| dnl Ptx bug workaround -- insert -lc after -ltermcap |
| test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq" |
| |
| -AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.)) |
| +AC_MSG_CHECKING(compiler sanity) |
| +AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.), AC_MSG_WARN(Skipping test due to crosscompilation)) |
| |
| ETCSCREENRC="\"/usr/local/etc/screenrc\"" |
| if test -n "$prefix"; then |