summaryrefslogtreecommitdiffstats
path: root/contrib/opie/configure.in
diff options
context:
space:
mode:
authorpst <pst@FreeBSD.org>1997-02-06 17:52:29 +0000
committerpst <pst@FreeBSD.org>1997-02-06 17:52:29 +0000
commit2dfcbf193123fd16b26454eeffa4bbd014e52c53 (patch)
treeec9d150c9da4390c2d223a04ac002523cbfd7f36 /contrib/opie/configure.in
downloadFreeBSD-src-2dfcbf193123fd16b26454eeffa4bbd014e52c53.zip
FreeBSD-src-2dfcbf193123fd16b26454eeffa4bbd014e52c53.tar.gz
Initial import of OPIE v2.3 from
ftp://ftp.nrl.navy.mil/pub/security/opie/
Diffstat (limited to 'contrib/opie/configure.in')
-rw-r--r--contrib/opie/configure.in455
1 files changed, 455 insertions, 0 deletions
diff --git a/contrib/opie/configure.in b/contrib/opie/configure.in
new file mode 100644
index 0000000..91c1a35
--- /dev/null
+++ b/contrib/opie/configure.in
@@ -0,0 +1,455 @@
+dnl configure.in: Input for Autoconf
+dnl
+dnl %%% portions-copyright-cmetz
+dnl Portions of this software are Copyright 1996 by Craig Metz, All Rights
+dnl Reserved. The Inner Net License Version 2 applies to these portions of
+dnl the software.
+dnl You should have received a copy of the license with this software. If
+dnl you didn't get a copy, you may request one from <license@inner.net>.
+dnl
+dnl Portions of this software are Copyright 1995 by Randall Atkinson and Dan
+dnl McDonald, All Rights Reserved. All Rights under this copyright are assigned
+dnl to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and
+dnl License Agreement applies to this software.
+dnl
+dnl History:
+dnl
+dnl Modified by cmetz for OPIE 2.3. Removed redundant memset/memcpy.
+dnl Changed ls -g test around. Changed logindevperm/fbtab defines.
+dnl Added check for /etc/environment and /etc/src.sh. Check for
+dnl /var/adm/sulog. Check for {get,put}utxline, provide libmissing
+dnl versionf of {get,put}utline. Added --enable option for anonymous
+dnl FTP. Got rid of a few unneeded checks. Check for functions only
+dnl used by libmissing only if the replacement function that needs
+dnl them is itself needed.
+dnl Modified by cmetz for OPIE 2.22. Check for Solaris drain bamaged ls.
+dnl Check for setlogin(). Removed duplicate checks for some funcs.
+dnl Modified by cmetz for OPIE 2.21. Filename must be in utmp[x]/wtmp[x]
+dnl defines.
+dnl Modified by cmetz for OPIE 2.2. Misc changes. Changed for libmissing
+dnl support and building its target object list. Changed to support
+dnl FUNCTION declaration et al. Added a LOT of checks and a LOT of
+dnl fixes.
+dnl Created at NRL for OPIE 2.1.
+
+AC_INIT(README)
+AC_CONFIG_HEADER(config.h)
+AC_ARG_ENABLE(access-file, [ --enable-access-file=PATH Use the OPIE access file PATH as a transition aid], AC_DEFINE_UNQUOTED(PATH_ACCESS_FILE, "$enable_access_file") echo "Using the access file in $enable_access_file -- don't say we didn't warn you!")
+AC_ARG_ENABLE(anonymous-ftp, [ --enable-anonymous-ftp Enable anonymous FTP support], AC_DEFINE(DOANONYMOUS) echo "Enabling anonymous FTP support in ftp -- don't say we didn't warn you!")
+
+dnl Checks for programs.
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_LN_S
+AC_PROG_RANLIB
+AC_PROG_YACC
+
+AC_AIX
+AC_ISC_POSIX
+AC_MINIX
+
+AC_C_CROSS
+
+dnl We'd put PATH in these checks, but it turns out that autoconf doesn't
+dnl work as documented when it comes to the colon separator...
+
+AC_PATH_PROG(CHOWN, chown, /bin/chown, /usr/bin /bin /usr/sbin /sbin /usr/etc /etc)
+
+AC_PATH_PROG(SU, su, /bin/su, /usr/bin /bin)
+AC_PATH_PROG(ALT_SU, su,, /usr/sbin /sbin)
+
+AC_PATH_PROG(SCHEME, scheme,, /usr/lib/iaf/scheme)
+AC_PATH_PROG(LOGIN, login, /bin/login, /usr/bin /bin)
+dnl AC_DEFINE_UNQUOTED(PATH_LOGIN, "$LOGIN")
+
+if test ! -z "$SCHEME";
+then
+ LOGIN="$SCHEME";
+fi
+
+AC_PATH_PROG(FTPD, ftpd,, /usr/libexec /usr/etc /etc /usr/sbin /sbin /usr/lbin)
+AC_PATH_PROG(INFTPD, in.ftpd,, /usr/libexec /usr/etc /etc /usr/sbin /sbin /usr/lbin)
+
+if test -z "$FTPD"
+then
+ if test ! -z "$INFTPD"
+ then
+ FTPD="$INFTPD"
+ fi
+fi
+
+AC_MSG_CHECKING(for default PATH entries)
+default_path=""
+save_IFS="$IFS"
+IFS=" "
+for i in /usr/bin /bin /usr/ucb /usr/sbin /usr/bsd /sbin /usr/bin/X11 /etc /usr/local/X11/bin /usr/X11R6/bin /your-system-is-broken
+do
+ IFS=":"
+ for j in $PATH
+ do
+ if test "$i" = "$j"
+ then
+ if test -d "$i"
+ then
+ if test -z "$default_path"
+ then
+ default_path="$i"
+ else
+ default_path="$default_path:$i"
+ fi
+ fi
+ fi
+ done
+ IFS=" "
+done
+AC_DEFINE_UNQUOTED(DEFAULT_PATH, "$default_path")
+AC_MSG_RESULT($default_path)
+
+AC_MSG_CHECKING(for test -e flag)
+if sh config.testeflag
+then
+ result=yes
+ EXISTS="-e"
+else
+ result=no
+ EXISTS="-f"
+fi
+AC_SUBST(EXISTS)
+AC_MSG_RESULT($result)
+
+AC_MSG_CHECKING(for mkdir -p flag)
+if test -d config.tmpdir
+then
+ rmdir config.tmpdir/foo/bar >/dev/null 2>/dev/null
+ rmdir config.tmpdir/foo >/dev/null 2>/dev/null
+ rmdir config.tmpdir >/dev/null 2>/dev/null
+fi
+
+result=no
+if mkdir -p config.tmpdir/foo/bar >/dev/null 2>/dev/null
+then
+ if test -d config.tmpdir
+ then
+ if test -d config.tmpdir/foo
+ then
+ if test -d config.tmpdir/foo/bar
+ then
+ result=yes
+ rmdir config.tmpdir/foo/bar >/dev/null 2>/dev/null
+ fi
+ rmdir config.tmpdir/foo >/dev/null 2>/dev/null
+ fi
+ rmdir config.tmpdir >/dev/null 2>/dev/null
+ fi
+fi
+
+if test "$result" = yes
+then
+ MKDIR="mkdir -p"
+else
+ MKDIR="mkdir"
+fi
+AC_SUBST(MKDIR)
+AC_MSG_RESULT($result)
+
+AC_MSG_CHECKING(for ls group field)
+lsg=`/bin/ls -ldg / | wc -w | awk '{print $1}'`;
+ls=`/bin/ls -ld / | wc -w | awk '{print $1}'`;
+result="no"
+if test $ls = 9;
+then
+ result="yes"
+else
+ if test "$ls" = 8 -a "$lsg" = 9;
+ then
+ result="yes, with -g"
+ AC_DEFINE(HAVE_LS_G_FLAG)
+ fi
+fi
+AC_MSG_RESULT($result)
+
+dnl Checks for various system characteristics
+AC_MSG_CHECKING(for /etc/default/login)
+if test $EXISTS /etc/default/login
+then
+ result=yes
+ AC_DEFINE(HAVE_ETC_DEFAULT_LOGIN)
+else
+ result=no
+fi
+AC_MSG_RESULT($result)
+
+AC_MSG_CHECKING(for /etc/securetty)
+if test $EXISTS /etc/securetty
+then
+ result=yes
+ AC_DEFINE(HAVE_SECURETTY)
+else
+ result=no
+fi
+AC_MSG_RESULT($result)
+
+AC_MSG_CHECKING(for /etc/logindevperm)
+if test $EXISTS /etc/logindevperm
+then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_LOGIN_PERMFILE, "/etc/logindevperm")
+else
+ AC_MSG_RESULT(no)
+
+ AC_MSG_CHECKING(for /etc/fbtab)
+ if test $EXISTS /etc/fbtab
+ then
+ result=yes
+ AC_DEFINE(HAVE_LOGIN_PERMFILE, "/etc/fbtab")
+ else
+ result=no
+ fi
+ AC_MSG_RESULT($result)
+fi
+
+AC_MSG_CHECKING(for /etc/environment)
+if test $EXISTS /etc/environment
+then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_LOGIN_ENVFILE, "/etc/environment")
+else
+ AC_MSG_RESULT(no)
+
+ AC_MSG_CHECKING(for /etc/src.sh)
+ if test $EXISTS /etc/src.sh
+ then
+ result=yes
+ AC_DEFINE(HAVE_LOGIN_ENVFILE, "/etc/src.sh")
+ else
+ result=no
+ fi
+ AC_MSG_RESULT($result)
+fi
+
+AC_MSG_CHECKING(for /etc/shadow)
+if test $EXISTS /etc/shadow
+then
+ result=yes
+ AC_DEFINE(HAVE_ETC_SHADOW)
+else
+ result=no
+fi
+AC_MSG_RESULT($result)
+
+AC_MSG_CHECKING(for /var/adm/sulog)
+if test $EXISTS /var/adm/sulog
+then
+ result=yes
+ AC_DEFINE(HAVE_SULOG)
+else
+ result=no
+fi
+AC_MSG_RESULT($result)
+
+AC_MSG_CHECKING(mail spool location)
+mail_spool=""
+for i in /var/mail /usr/mail /var/spool/mail /usr/spool/mail
+do
+ if test -d $i
+ then
+ mail_spool="$i"
+ fi
+done
+if test -z "$mail_spool"
+then
+ result="not found"
+else
+ result="$mail_spool"
+ AC_DEFINE_UNQUOTED(PATH_MAIL, "$mail_spool")
+fi
+AC_MSG_RESULT($result)
+
+dnl AC_MSG_CHECKING(where your system puts the utmp file)
+dnl utmp_path=""
+dnl for i in /var/run /var/adm /usr/adm /etc
+dnl do
+dnl if test $EXISTS $i/utmp
+dnl then
+dnl utmp_path="$i"
+dnl fi
+dnl done
+dnl if test -z "$utmp_path"
+dnl then
+dnl result="not found"
+dnl else
+dnl result="$utmp_path"
+dnl AC_DEFINE_UNQUOTED(PATH_UTMP_AC, "$utmp_path/utmp")
+dnl fi
+dnl AC_MSG_RESULT($result)
+
+dnl AC_MSG_CHECKING(where your system puts the wtmp file)
+dnl wtmp_path=""
+dnl for i in /var/run /var/adm /usr/adm /etc
+dnl do
+dnl if test $EXISTS $i/wtmp
+dnl then
+dnl wtmp_path="$i"
+dnl fi
+dnl done
+dnl if test -z "$wtmp_path"
+dnl then
+dnl result="not found"
+dnl else
+dnl result="$wtmp_path"
+dnl AC_DEFINE_UNQUOTED(PATH_WTMP_AC, "$wtmp_path/wtmp")
+dnl fi
+dnl AC_MSG_RESULT($result)
+
+AC_MSG_CHECKING(whether the system profile displays the motd)
+result=no
+if test $EXISTS /etc/profile
+then
+ if grep motd /etc/profile >/dev/null 2>/dev/null
+ then
+ result=yes
+ fi
+fi
+if test "$result" = yes
+then
+ AC_DEFINE(HAVE_MOTD_IN_PROFILE)
+fi
+AC_MSG_RESULT($result)
+
+AC_MSG_CHECKING(whether the system profile checks for mail)
+result=no
+if test $EXISTS /etc/profile
+then
+ if grep 'mail\.' /etc/profile >/dev/null 2>/dev/null
+ then
+ result=yes
+ fi
+fi
+if test "$result" = yes
+then
+ AC_DEFINE(HAVE_MAILCHECK_IN_PROFILE)
+fi
+AC_MSG_RESULT($result)
+
+dnl Random checks
+AC_C_CONST
+
+AC_MSG_CHECKING(to see if your compiler can handle void arguments)
+AC_TRY_COMPILE(foo(void) { },, AC_DEFINE(HAVE_VOIDARG) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+
+AC_MSG_CHECKING(to see if your compiler can handle void return values)
+AC_TRY_COMPILE(void foo() { },, AC_DEFINE(HAVE_VOIDRET) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+
+AC_MSG_CHECKING(to see if your compiler can handle void pointers)
+AC_TRY_COMPILE(foo() { void *bar = (void *)0x42; bar = bar + 1; },, AC_DEFINE(HAVE_VOIDPTR) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+
+AC_MSG_CHECKING(to see if your compiler can handle ANSI argument lists)
+AC_TRY_COMPILE(int foo(int bar, int baz) { return 0; },, AC_DEFINE(HAVE_ANSIDECL) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+
+AC_MSG_CHECKING(to see if your compiler can handle ANSI prototypes)
+AC_TRY_COMPILE(extern int foo(int, int);,, AC_DEFINE(HAVE_ANSIPROTO) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+
+AC_MSG_CHECKING(to see if your compiler can handle ANSI variable arguments)
+AC_TRY_COMPILE([#include <stdarg.h>
+int foo(int arg, ...) {
+ va_list ap;
+ va_start(ap, arg);
+ va_end(ap);
+ return 0;
+}],, AC_DEFINE(HAVE_ANSISTDARG) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+
+AC_MSG_CHECKING(to see if you have an ANSI-style sprintf)
+AC_TRY_RUN([#include <stdio.h>
+int main(argc, argv)
+int argc;
+char *argv[];
+{
+ char buf[5];
+ int i = 2;
+ i += sprintf(buf, "1234");
+ return (i == 6) ? 0 : -1;
+}], AC_DEFINE(HAVE_ANSISPRINTF) AC_MSG_RESULT(yes), AC_MSG_RESULT(no), AC_MSG_RESULT(no))
+
+dnl Checks for libraries.
+AC_CHECK_LIB(crypt, crypt)
+AC_CHECK_LIB(nsl, gethostname)
+AC_CHECK_LIB(posix, main)
+AC_CHECK_LIB(socket, socket)
+
+dnl Checks for header files.
+AC_HEADER_DIRENT
+AC_HEADER_SYS_WAIT
+AC_CHECK_HEADERS(crypt.h fcntl.h limits.h termios.h sys/file.h sys/ioctl.h sys/time.h syslog.h unistd.h paths.h shadow.h signal.h sys/signal.h lastlog.h sys/utsname.h pwd.h sys/param.h string.h stdlib.h utmpx.h)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+dnl AC_TYPE_UID_T
+dnl AC_TYPE_OFF_T
+dnl AC_TYPE_PID_T
+dnl AC_STRUCT_ST_BLKSIZE
+dnl AC_STRUCT_TM
+
+AC_MSG_CHECKING(for ut_pid in struct utmp)
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <utmp.h>], [struct utmp foo; return (int)foo.ut_pid;], AC_DEFINE(HAVE_UT_PID) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+AC_MSG_CHECKING(for ut_type in struct utmp)
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <utmp.h>], [struct utmp foo; return (int)foo.ut_type;], AC_DEFINE(HAVE_UT_TYPE) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+AC_MSG_CHECKING(for ut_name in struct utmp)
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <utmp.h>], [struct utmp foo; return (int)foo.ut_name[0];], AC_DEFINE(HAVE_UT_NAME) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+dnl AC_MSG_CHECKING(for ut_user in struct utmp)
+dnl AC_TRY_COMPILE([#include <sys/types.h>
+dnl #include <utmp.h>], [struct utmp foo; return (int)foo.ut_user[0];], AC_DEFINE(HAVE_UT_USER) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+AC_DEFINE(HAVE_UT_HOST)
+
+dnl Checks for library functions.
+dnl AC_PROG_GCC_TRADITIONAL
+AC_TYPE_SIGNAL
+AC_CHECK_FUNCS(gettimeofday socket strftime strstr setpriority seteuid setreuid setegid setregid setresuid setresgid getttynam sysconf setvbuf getspent endspent setgroups getgroups fpurge setlogin lstat getutxline pututxline)
+
+dnl Libmissing...
+AC_FUNC_MEMCMP
+AC_FUNC_ALLOCA
+AC_REPLACE_FUNCS(getusershell sigaddset sigemptyset strerror strncasecmp)
+MISSING="$LIBOBJS $ALLOCA "
+AC_CHECK_FUNC(atexit,, MISSING="${MISSING}atexit.o ")
+AC_CHECK_FUNC(entutent,, MISSING="${MISSING}endutent.o ")
+AC_CHECK_FUNC(memcpy,, MISSING="${MISSING}memcpy.o "; AC_CHECK_FUNCS(bcopy))
+AC_CHECK_FUNC(memset,, MISSING="${MISSING}memset.o "; AC_CHECK_FUNCS(bzero))
+AC_CHECK_FUNC(getcwd,, MISSING="${MISSING}getcwd.o "; AC_CHECK_FUNCS(getwd))
+AC_CHECK_FUNC(getenv, AC_DEFINE(HAVE_GETENV), MISSING="${MISSING}env.o ")
+AC_CHECK_FUNC(getutline,, MISSING="${MISSING}getutline.o "; AC_CHECK_FUNCS(ttyslot))
+AC_CHECK_FUNC(pututline,, MISSING="${MISSING}pututline.o "; AC_CHECK_FUNCS(ttyslot))
+AC_CHECK_FUNC(setenv, AC_DEFINE(HAVE_SETENV), MISSING="${MISSING}env.o ")
+AC_CHECK_FUNC(sigprocmask,, MISSING="${MISSING}sigprocmask.o "; AC_CHECK_FUNCS(sigblock sigsetmask))
+AC_CHECK_FUNC(strchr,, MISSING="${MISSING}strchr.o "; AC_CHECK_FUNCS(index))
+AC_CHECK_FUNC(strrchr,, MISSING="${MISSING}strrchr.o "; AC_CHECK_FUNCS(rindex))
+AC_CHECK_FUNC(sysconf,, MISSING="${MISSING}sysconf.o "; AC_CHECK_FUNCS(getdtablesize))
+AC_CHECK_FUNC(uname,, MISSING="${MISSING}uname.o "; AC_CHECK_FUNCS(gethostname))
+AC_CHECK_FUNC(unsetenv, AC_DEFINE(HAVE_UNSETENV), MISSING="${MISSING}env.o ")
+AC_SUBST(MISSING)
+
+AC_MSG_CHECKING(for nonstandard gettimeofday)
+AC_TRY_COMPILE([
+#if HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif /* HAVE_SYS_TIME_H */
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+],
+[struct timeval tv;
+gettimeofday(&tv, NULL)], AC_MSG_RESULT(no), AC_MSG_RESULT(maybe) AC_TRY_COMPILE([
+#if HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif /* HAVE_SYS_TIME_H */
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+],
+[struct timeval tv;
+gettimeofday(&tv)], AC_DEFINE(HAVE_ONE_ARG_GETTIMEOFDAY) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)))
+
+# Munge out LOCALBIN and LOCALMAN in canonical (no bletch) form
+AC_OUTPUT(configure.munger libmissing/Makefile libopie/Makefile Makefile.munge:Makefile.in)
+sh configure.munger
OpenPOWER on IntegriCloud