📄 aclocal.m4
字号:
wi_cv_lib_curses=no
],[
# action if cross compiling
wi_cv_lib_curses=no
])
if test "$wi_cv_lib_curses" = yes ; then break ; fi
done
# restore LIBS
LIBS="$ac_save_LIBS"
if test "$wi_cv_lib_curses_result" != "no" ; then
case "$LIBCURSES" in
"-lncurses")
AC_DEFINE(HAVE_LIBNCURSES)
;;
"-lcurses")
AC_DEFINE(HAVE_LIBCURSES)
;;
"-lcurses -ltermcap")
AC_DEFINE(HAVE_LIBCURSES)
;;
"-ltermcap -lcurses")
AC_DEFINE(HAVE_LIBCURSES)
;;
esac
else
LIBCURSES=''
fi
AC_SUBST(LIBCURSES)
AC_MSG_RESULT([$wi_cv_lib_curses_result])
])
dnl
dnl
dnl
dnl
AC_DEFUN(wi_CURSES_FEATURES, [
if test "$wi_cv_lib_curses" = "yes" ; then
# Then $LIBCURSES is a list of curses and support libraries.
ac_save_LIBS="$LIBS";
LIBS="$LIBS $LIBCURSES";
# maxx or _maxx
AC_MSG_CHECKING([whether curses structure has maxx or _maxx field])
AC_TRY_COMPILE([
/* includes */
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#ifdef HAVE_NCURSES_H
# include <ncurses.h>
#else
# include <curses.h>
#endif
],[
WINDOW *w;
w = newwin(10, 10, 1, 1);
w->maxx = 0;
],[
AC_MSG_RESULT([maxx])
],[
AC_DEFINE(HAVE__MAXX)
AC_MSG_RESULT([_maxx])
])
AC_CHECK_FUNCS(__getmaxx __getmaxy __getbegx __getbegy)
# getbegx
AC_MSG_CHECKING([for getbegx() functionality in curses library])
AC_TRY_LINK([
/* includes */
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#ifdef HAVE_NCURSES_H
# include <ncurses.h>
#else
# include <curses.h>
#endif
],[
/* function-body */
WINDOW *junk = 0;
int mx = 0;
mx = getbegx(junk);
exit(0);
],[
AC_DEFINE(HAVE_GETBEGX)
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
])
# getmaxx
AC_MSG_CHECKING([for getmaxx() functionality in curses library])
AC_TRY_LINK([
/* includes */
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#ifdef HAVE_NCURSES_H
# include <ncurses.h>
#else
# include <curses.h>
#endif
],[
/* function-body */
WINDOW *junk = 0;
int mx = 0;
mx = getmaxx(junk);
exit(0);
],[
AC_DEFINE(HAVE_GETMAXX)
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
])
# getmaxyx
AC_MSG_CHECKING([for getmaxyx() functionality in curses library])
AC_TRY_LINK([
/* includes */
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#ifdef HAVE_NCURSES_H
# include <ncurses.h>
#else
# include <curses.h>
#endif
],[
/* function-body */
WINDOW *junk = 0;
int mx = 0, my = 0;
getmaxyx(junk, my, mx);
exit(my < 0 ? my : 0);
],[
AC_DEFINE(HAVE_GETMAXYX)
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
])
# touchwin
AC_MSG_CHECKING([for touchwin() functionality in curses library])
AC_TRY_LINK([
/* includes */
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#ifdef HAVE_NCURSES_H
# include <ncurses.h>
#else
# include <curses.h>
#endif
],[
/* function-body */
WINDOW *junk = 0;
touchwin(junk);
exit(0);
],[
AC_DEFINE(HAVE_TOUCHWIN)
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
])
# beep
AC_MSG_CHECKING([for beep() functionality in curses library])
AC_TRY_LINK([
/* includes */
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#ifdef HAVE_NCURSES_H
# include <ncurses.h>
#else
# include <curses.h>
#endif
],[
/* function-body */
beep();
exit(getpid() & 1);
],[
AC_DEFINE(HAVE_BEEP)
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
])
AC_CHECK_FUNCS(keypad nodelay curs_set doupdate wnoutrefresh)
LIBS="$ac_save_LIBS";
fi
])
dnl
dnl
dnl
AC_DEFUN(wi_SHADOW_FUNCS, [
AC_CHECK_FUNCS(md5_crypt md5crypt bcrypt getspnam)
# UnixWare 7
if test "$ac_cv_func_getspnam" = no ; then
unset ac_cv_func_getspnam
AC_CHECK_LIB(gen,getspnam)
if test "$ac_cv_lib_gen_getspnam" = yes ; then
AC_CHECK_FUNCS(getspnam)
fi
fi
# AIX
#
case "$SYS" in
"aix"|"")
AC_CHECK_FUNCS(getuserpw)
;;
*)
;;
esac
# C2: SCO Open Server 5; Digital UNIX
AC_CHECK_FUNCS(set_auth_parameters bigcrypt)
# C2: Digital UNIX 3.2, 4.0; SCO Open Server 5; HP-UX 11
AC_CHECK_FUNCS(getprpwnam)
# Digital UNIX 4.0
AC_CHECK_FUNCS(getespwnam get_num_crypts get_crypt_name)
# Digital Unix 4.0
AC_CHECK_FUNCS(dispcrypt)
# SunOS
AC_CHECK_FUNCS(getpwanam)
])
dnl
dnl
dnl
AC_DEFUN(wi_SHADOW_HEADERS, [
AC_CHECK_HEADERS(shadow.h crypt.h)
# AIX
AC_CHECK_HEADERS(userpw.h)
# SunOS
AC_CHECK_HEADERS(pwdadj.h)
# HP-UX
#
# Bug in header on these version 10 which cause is it not
# to get detected.
#
wi_HEADER_HPSECURITY_H
# SCO Open Server, Digital UNIX
AC_CHECK_HEADERS(sys/security.h sys/audit.h krb.h prot.h)
# Digital UNIX
AC_CHECK_HEADERS(sys/secdefines.h)
# Digital UNIX
wi_PR_PASSWD_FG_OLDCRYPT
])
dnl
dnl
dnl
AC_DEFUN(wi_SHADOW_LIBS, [
check_for_libcrypt=yes
# AIX security library is libs.a
AC_CHECK_LIB(s,getuserpw)
if test "$ac_cv_lib_s" = yes ; then
check_for_libcrypt=no
elif test "$ac_cv_lib_s_getuserpw" = yes ; then
check_for_libcrypt=no
fi
# SCO OpenServer 5 stuff for shadow password
AC_CHECK_LIB(x,nap)
AC_CHECK_LIB(prot,getprpwnam)
# Digital UNIX
AC_CHECK_LIB(security,endprpwent)
# HP-UX
AC_CHECK_LIB(sec,getprpwnam)
if test "$ac_cv_lib_sec_getprpwnam" = no ; then
# DYNIX/ptx
AC_CHECK_LIB(sec,getspnam)
fi
if test "$check_for_libcrypt" = yes ; then
wi_LIB_CRYPT
fi
AC_CHECK_FUNCS(crypt)
])
dnl
dnl
dnl
AC_DEFUN(wi_OS_VAR, [
changequote(!@, @!)dnl
if [ -x "$HOME/bin/OS" ] ; then
HOME_OS=`$HOME/bin/OS`
HOME_OS="$HOME/$HOME_OS"
fi
host=`uname -n 2>/dev/null | tr '[A-Z]' '[a-z]'`
os=`uname -s 2>/dev/null | tr '[A-Z]' '[a-z]'`
dnl work around inability to use $1
os_v=`uname -v 2>/dev/null | sed 's/^[^0-9.]*//;s/[^0-9.]*$//;s/pre.*//;s/test.*//' | awk '-F[-/: ]' '{n = 1; print $n; }'`
os_r=`uname -r 2>/dev/null | sed 's/^[^0-9.]*//;s/[^0-9.]*$//;s/pre.*//;s/test.*//' | awk '-F[-/: ]' '{n = 1; print $n; }'`
os_r1=`echo "${os_r}" | cut -c1`
arch=`uname -m 2>/dev/null | tr '[A-Z]' '[a-z]'`
archp=`uname -p 2>/dev/null | tr '[A-Z]' '[a-z]'`
OS=''
SYS=''
NDEFS=''
# Special case a few systems where if your CFLAGS appear
# to want to generate for 32 bit, use that mode rather
# than 64 bit.
#
case "$os,$CFLAGS" in
irix64,*-n32*)
os=irix
# then go to regular "irix" instead of "irix64" below.
;;
esac
case "$os" in
osf1)
case "$os_r" in
3*|4*)
OS="digitalunix${os_r}-$arch"
SYS=digitalunix
;;
*)
OS="tru64unix${os_r}-$arch"
SYS=tru64unix
;;
esac
NDEFS="$NDEFS -DDIGITAL_UNIX=$os_r1"
;;
aix)
OS="aix${os_v}.${os_r}"
SYS=aix
NDEFS="$NDEFS -DAIX=${os_v}"
;;
irix)
OS="irix${os_r}"
SYS=irix
NDEFS="$NDEFS -DIRIX=$os_r1"
;;
irix64)
OS="irix64_${os_r}"
SYS=irix64
NDEFS="$NDEFS -DIRIX=$os_r1 -DIRIX64=$os_r1"
;;
hp-ux)
os_r=`echo "${os_r}" | cut -d. -f2-`
os_r1=`echo "$os_r" | cut -d. -f1`
os_r2=`echo "${os_r}" | cut -d. -f2`
os_int=`expr "$os_r1" '*' 100 + "$os_r2"`
OS="hpux${os_r}"
SYS=hpux
NDEFS="$NDEFS -DHPUX=$os_int"
;;
freebsd)
OS="freebsd${os_r}-$arch"
os_r1=`echo "$os_r" | cut -d. -f1`
os_r2=`echo "$os_r" | cut -d. -f2`
os_r3=`echo "$os_r" | cut -d. -f3`
if [ "$os_r3" = "" ] ; then os_r3=0 ; fi
os_int=`expr "$os_r1" '*' 100 + "$os_r2" '*' 10 + "$os_r3"`
SYS=freebsd
NDEFS="$NDEFS -DFREEBSD=$os_int"
;;
netbsd)
OS="netbsd${os_r}-$arch"
NDEFS="$NDEFS -DNETBSD=$os_r1"
SYS=netbsd
;;
openbsd)
OS="openbsd${os_r}-$arch"
SYS=openbsd
NDEFS="$NDEFS -DOPENBSD=$os_r1"
;;
sco*)
OS=scosv
SYS=sco
NDEFS="$NDEFS -DSCO=$os_r1"
;;
dynix*)
OS="dynixptx${os_v}"
SYS=dynixptx
os_v1=`echo "$os_v" | cut -d. -f1`
os_v2=`echo "$os_v" | cut -d. -f2`
os_v3=`echo "$os_v" | cut -d. -f3`
if [ "$os_v3" = "" ] ; then os_v3=0 ; fi
os_int=`expr "$os_v1" '*' 100 + "$os_v2" '*' 10 + "$os_v3"`
NDEFS="$NDEFS -DDYNIX=$os_int"
;;
linux)
case "$arch" in
*86)
arch=x86
;;
esac
libc=""
os_r1=`echo "$os_r" | cut -d. -f1`
os_r2=`echo "$os_r" | cut -d. -f2`
os_r3=`echo "$os_r" | cut -d- -f1 | cut -d. -f3`
os_int=`expr "$os_r1" '*' 10000 + "$os_r2" '*' 1000 + "$os_r3"`
NDEFS="$NDEFS -DLINUX=$os_int"
vertest="./vertest.$$"
/bin/rm -f "$vertest" "$vertest.c"
cat <<EOF > "$vertest.c"
#include <stdio.h>
#include <gnu/libc-version.h>
main()
{
const char *ver = gnu_get_libc_version();
const char *rel = gnu_get_libc_release();
fprintf(stdout, "glibc%s\n", ver);
exit(0);
}
EOF
echo $ac_n "checking version of C library""... $ac_c" 1>&6
echo "configure:: checking version of C library" >&5
${CC-cc} $DEFS $CPPFLAGS $CFLAGS "$vertest.c" -o "$vertest" >/dev/null 2>&1
if [ -x "$vertest" ] ; then libc=`$vertest` ; fi
/bin/rm -f "$vertest" "$vertest.c"
case "$libc" in
glibc*)
echo "$libc" 1>&6
glibc_r=`echo "$libc" | sed 's/glibc//'`
glibc_r1=`echo "$glibc_r" | cut -d. -f1`
glibc_r2=`echo "$glibc_r" | cut -d. -f2`
glibc_r3=`echo "$glibc_r" | cut -d- -f1 | cut -d. -f3`
glibc_int=`expr "$glibc_r1" '*' 10000 + "$glibc_r2" '*' 1000 + "$glibc_r3"`
NDEFS="$NDEFS -DLINUX_GLIBC=$glibc_int"
libc="glibc${glibc_r1}.${glibc_r2}"
OS="linux-$arch"
;;
*)
if test -f /lib/libc-2.2.2.so ; then
NDEFS="$NDEFS -DLINUX_GLIBC=22002"
libc="glibc2.2"
OS="linux-$arch"
elif test -f /lib/libc-2.2.1.so ; then
NDEFS="$NDEFS -DLINUX_GLIBC=22001"
libc="glibc2.2"
OS="linux-$arch"
elif test -f /lib/libc-2.2.0.so ; then
NDEFS="$NDEFS -DLINUX_GLIBC=22000"
libc="glibc2.1"
OS="linux-$arch"
elif test -f /lib/libc-2.1.3.so ; then
NDEFS="$NDEFS -DLINUX_GLIBC=21003"
libc="glibc2.1"
OS="linux-$arch"
elif test -f /lib/libc-2.1.2.so ; then
NDEFS="$NDEFS -DLINUX_GLIBC=21002"
libc="glibc2.1"
OS="linux-$arch"
elif test -f /lib/libc-2.1.1.so ; then
NDEFS="$NDEFS -DLINUX_GLIBC=21001"
libc="glibc2.1"
OS="linux-$arch"
elif test -f /lib/libc.so.6 ; then
NDEFS="$NDEFS -DLINUX_GLIBC=20000"
libc="glibc2.0"
OS="linux-$arch"
elif test -f /lib/libc.so.6.1 ; then
NDEFS="$NDEFS -DLINUX_GLIBC=20001"
libc="glibc2.0"
OS="linux-$arch"
else
NDEFS="$NDEFS -DLINUX_LIBC=5"
libc="libc5"
OS="linux-$arch"
fi
echo "$libc" 1>&6
;;
esac
SYS=linux
;;
bsd/os)
OS="bsdos${os_r}"
SYS=bsdos
NDEFS="$NDEFS -DBSDOS=$os_r1"
;;
ultrix)
OS="ultrix-$arch"
SYS=ultrix
;;
unixware|eeyore)
OS="unixware${os_v}"
SYS=unixware
;;
macos*|darwin|rhapsody)
OS="macosx"
SYS="macosx"
;;
sunos)
if [ "$arch" = "" ] ; then arch="sparc" ; fi
if [ "$archp" = "" ] ; then archp="$arch" ; fi
case "$os_r" in
5.[789]*)
os_r=`echo "$os_r" | cut -c3-`
OS="solaris${os_r}-$archp"
NDEFS="$NDEFS -DSOLARIS=\\\"$os_r\\\""
SYS=solaris
;;
5.[0123456]*)
maj=`echo "$os_r" | cut -c1-1`
maj=`expr "$maj" - 3`
os_r=`echo "$os_r" | cut -c2-`
os_r="${maj}${os_r}"
OS="solaris${os_r}-$archp"
NDEFS="$NDEFS -DSOLARIS=\\\"$os_r\\\""
SYS=solaris
;;
4.*)
OS="sunos${os_r}-sparc"
NDEFS="$NDEFS -DSUNOS=\\\"$os_r\\\""
SYS=sunos
;;
*)
OS="solaris${os_r}-$archp"
NDEFS="$NDEFS -DSOLARIS=\\\"$os_r\\\""
SYS=solaris
;;
esac
;;
*)
OS="$os"
SYS="$os"
if grep Novell /usr/include/sys/types.h ; then
OS="unixware${os_v}"
SYS="unixware"
fi
;;
esac
changequote([, ])
AC_SUBST(NDEFS)
AC_SUBST(OS)
AC_SUBST(host)
AC_SUBST(SYS)
AC_SUBST(HOME_OS)
])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -