summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in182
1 files changed, 182 insertions, 0 deletions
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..9b12934
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,182 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(server/server.c)
+
+if test ! -d h; then mkdir h; fi
+if test ! -d h/zephyr; then mkdir h/zephyr; fi
+
+dnl Command-line option to enable Athena paths.
+AC_ARG_ENABLE(athena,
+ [ --enable-athena Use Athena defaults],
+ [hesiod=yes
+ kerberos=yes
+ if test "${prefix}" = "NONE"; then prefix=/usr/athena; fi
+ datadir=${datadir-'$(prefix)/lib/zephyr'}
+ confdir=${confdir-'/etc/athena/zephyr'}
+ sbindir=${sbindir-'$(exec_prefix)/etc'}
+ lsbindir=${lsbindir-'/etc/athena'}
+ COMPILE_ET=compile_et
+ MK_CMDS=mk_cmds
+ CPPFLAGS="${CPPFLAGS} -I/usr/athena/include"
+ LDFLAGS="${LDFLAGS} -L/usr/athena/lib"
+ INITPROGS=${lsbindir}/zinit],
+ [datadir=${datadir-'$(prefix)/share/zephyr'}
+ confdir=${confdir-'$(prefix)/etc/zephyr'}
+ sbindir=${sbindir-'$(exec_prefix)/sbin'}
+ lsbindir=${lsbindir-'$(exec_prefix)/sbin'}
+ SUPPORT_LIBS="et ss"
+ ET_LDFLAGS='-L$(BUILDTOP)/lib/et'
+ ETDEP='$(BUILDTOP)/lib/et/libcom_err.a'
+ SS_LDFLAGS='-L$(BUILDTOP)/lib/ss'
+ SSDEP='$(BUILDTOP)/lib/ss/libss.a'
+ COMPILE_ET='$(BUILDTOP)/lib/et/compile_et'
+ MK_CMDS='$(BUILDTOP)/lib/ss/mk_cmds'
+ INITPROGS=true
+ if test ! -d h/ss; then mkdir h/ss; fi
+ cp ${srcdir}/lib/et/com_err.h h
+ cp ${srcdir}/lib/ss/*.h h/ss])
+
+AC_SUBST(confdir)
+AC_SUBST(datadir)
+AC_SUBST(sbindir)
+AC_SUBST(lsbindir)
+AC_SUBST(SUPPORT_LIBS)
+AC_SUBST(ET_LDFLAGS)
+AC_SUBST(ETDEP)
+AC_SUBST(SS_LDFLAGS)
+AC_SUBST(SSDEP)
+AC_SUBST(COMPILE_ET)
+AC_SUBST(MK_CMDS)
+AC_SUBST(INITPROGS)
+
+AC_CANONICAL_SYSTEM
+AC_DEFINE_UNQUOTED(MACHINE_TYPE, "$host")
+
+dnl Command-line option to enable Hesiod support
+AC_ARG_WITH(hesiod,
+ [ --with-hesiod=PREFIX Compile with Hesiod support],
+ [hesiod="$withval"], [hesiod=${hesiod-no}])
+
+dnl Command-line option to enable Kerberos support
+AC_ARG_WITH(krb4,
+ [ --with-krb4=PREFIX Compile with Kerberos 4 support],
+ [kerberos="$withval"], [kerberos=${kerberos-no}])
+
+dnl Checks for programs.
+AC_PROG_CC
+AC_PROG_YACC
+AC_PROG_LEX
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+
+AC_MSG_CHECKING(location of temporary directory)
+if test -d /var/tmp; then
+ found_tmp=/var/tmp/
+elif test -d /usr/tmp; then
+ found_tmp=/usr/tmp/
+else
+ found_tmp=/tmp/
+fi
+AC_DEFINE_UNQUOTED(FOUND_TMP, "${found_tmp}")
+AC_MSG_RESULT(${found_tmp})
+
+dnl Checks for header files.
+AC_PATH_XTRA
+AC_HEADER_STDC
+AC_HEADER_SYS_WAIT
+AC_CHECK_HEADERS(fcntl.h paths.h termios.h sgtty.h unistd.h libgen.h malloc.h)
+AC_CHECK_HEADERS(sys/filio.h sys/ioctl.h sys/time.h sys/file.h sys/utsname.h)
+AC_CHECK_HEADERS(sys/select.h sys/msgbuf.h sys/cdefs.h)
+
+if test "$no_x" != "yes"; then
+ XCLIENTS=xzwrite
+ ZWGC_LIBX11=-lX11
+fi
+AC_SUBST(XCLIENTS)
+AC_SUBST(ZWGC_LIBX11)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_TYPE_SIGNAL
+AC_TYPE_UID_T
+AC_CHECK_SIZEOF(short)
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(long)
+AC_MSG_CHECKING(for 32-bit integer type)
+if test "$ac_cv_sizeof_long" = 4; then
+ int32=long
+elif test "$ac_cv_sizeof_int" = 4; then
+ int32=int
+elif test "$ac_cv_sizeof_short" = 4; then
+ int32=short
+else
+ AC_WARN([Can't find 32-bit type, using long])
+ int32=long
+fi
+AC_DEFINE_UNQUOTED(ZEPHYR_INT32, ${int32})
+AC_MSG_RESULT(${int32})
+
+AC_CHECK_LIB(w, wslen)
+AC_CHECK_LIB(dl, dlopen)
+
+# If we can't find connect, try looking in -lsocket and -lnsl. The
+# Irix 5 libc.so has connect and gethostbyname, but Irix 5 also has
+# libsocket.so which has a bad implementation of gethostbyname (it
+# only looks in /etc/hosts), so we only look for -lsocket if we need
+# it.
+AC_CHECK_FUNC(connect, :, [AC_CHECK_LIB(socket, socket)
+ AC_CHECK_LIB(nsl, gethostbyname)])
+
+# Hesiod needs -lresolv on Sun systems for res_send.
+if test "$hesiod" != "no"; then
+ AC_CHECK_LIB(44bsd, strerror)
+ AC_CHECK_LIB(resolv, res_send)
+fi
+
+AC_CHECK_LIB(curses, tgetstr, [TLIB=-lcurses], [TLIB=-ltermcap])
+AC_CHECK_LIB(gen, regcmp, [RLIB=-lgen])
+AC_CHECK_LIB(src, srcsrpy, [SLIB=-lsrc; AC_DEFINE(HAVE_SRC)])
+AC_SUBST(TLIB)
+AC_SUBST(RLIB)
+AC_SUBST(SLIB)
+
+if test "$hesiod" != "no"; then
+ if test "$hesiod" != "yes"; then
+ CPPFLAGS="${CPPFLAGS} -I${hesiod}/include"
+ LDFLAGS="${LDFLAGS} -L${hesiod}/lib"
+ fi
+ AC_DEFINE(ZEPHYR_USES_HESIOD)
+ AC_CHECK_LIB(hesiod, hes_resolve, LIBS="-lhesiod ${LIBS}",
+ [AC_CHECK_FUNC(hes_resolve),,
+ AC_ERROR(Hesiod library not found)])
+fi
+
+if test "$kerberos" != "no"; then
+ if test "$kerberos" != "yes"; then
+ CPPFLAGS="${CPPFLAGS} -I${kerberos}/include"
+ LDFLAGS="${LDFLAGS} -L${kerberos}/lib"
+ fi
+ AC_DEFINE(ZEPHYR_USES_KERBEROS)
+ AC_CHECK_LIB(krb, krb_mk_req,,
+ [AC_ERROR(Kerberos library not found)], -ldes)
+ LIBS="-lkrb -ldes ${LIBS}"
+else
+ AC_WARN(compiling without Kerberos support; Zephyr will be insecure.)
+fi
+
+dnl Checks for library functions.
+AC_PROG_GCC_TRADITIONAL
+AC_FUNC_VPRINTF
+ZEPHYR_FUNC_REGCOMP
+AC_CHECK_FUNCS(putenv re_comp strchr memcpy memmove waitpid getlogin)
+AC_CHECK_FUNCS(strerror random lrand48 gethostid krb_get_err_text krb_log)
+
+AC_CONFIG_HEADER(h/config.h h/zephyr/zephyr.h)
+AC_OUTPUT(Makefile clients/Makefile clients/syslogd/Makefile
+ clients/xzwrite/Makefile clients/zaway/Makefile clients/zctl/Makefile
+ clients/zleave/Makefile clients/zlocate/Makefile
+ clients/zmailnotify/Makefile clients/znol/Makefile
+ clients/zpopnotify/Makefile clients/zshutdown_notify/Makefile
+ clients/zstat/Makefile clients/zwgc/Makefile clients/zwrite/Makefile
+ lib/Makefile lib/dyn/Makefile lib/et/Makefile lib/ss/Makefile
+ lib/zephyr/Makefile server/Makefile zhm/Makefile
+ clients/xzwrite/XZwrite clients/zwgc/zephyr.vars)
+