# See the file COPYING in this distribution
# Automake variables. Steal the version number from lustre.spec.in.
-AM_INIT_AUTOMAKE(obd, builtin([esyscmd], [sed -ne '/^%define version /{ s/.*version //; p; q; }' scripts/lustre.spec.in]))
+AM_INIT_AUTOMAKE(lustre, builtin([esyscmd], [sed -ne '/^%define version /{ s/.*version //; p; q; }' scripts/lustre.spec.in]))
#AM_MAINTAINER_MODE
AC_PROG_CC
AC_PROG_RANLIB
+#
+# Check for required packages
+
+# this doesn't seem to work on older autoconf
+# AC_CHECK_LIB(readline, readline,,)
+
+AC_ARG_ENABLE(readline, [ --enable-readline use readline library],,
+ enable_readline="yes")
+
+if test "$enable_readline" = "yes" ; then
+ LIBREADLINE="-lreadline -lncurses"
+ HAVE_LIBREADLINE="-DHAVE_LIBREADLINE=1"
+else
+ LIBREADLINE=""
+ HAVE_LIBREADLINE=""
+fi
+AC_SUBST(LIBREADLINE)
+AC_SUBST(HAVE_LIBREADLINE)
+
# Kernel build environment.
ac_default_prefix=
bindir='${exec_prefix}/usr/bin'
sbindir='${exec_prefix}/usr/sbin'
linuxdir_def=/usr/src/linux
-AC_ARG_ENABLE(linuxdir, [ --enable-linuxdir=[path] set path to Linux source (default=/usr/src/linux)],, enable_linuxdir=$linuxdir_def)
+AC_ARG_WITH(linux, [ --with-linux=[path] set path to Linux source (default=/usr/src/linux)], enable_linuxdir=$withval)
+AC_ARG_ENABLE(linuxdir, [ --enable-linuxdir=[path] (deprecated) set path to Linux source (default=/usr/src/linux)],, enable_linuxdir=$linuxdir_def)
LINUX=$enable_linuxdir
AC_SUBST(LINUX)
sinclude(archdep.m4)
+AC_MSG_CHECKING(if you are running linux 2.5...)
+if test -e $LINUX/include/linux/namei.h ; then
+ linux25=yes
+ AC_MSG_RESULT(yes)
+else
+ linux25=no
+ AC_MSG_RESULT(no)
+fi
+AM_CONDITIONAL(LINUX25, test x$linux25 = xyes)
+
KINCFLAGS='-I. -I$(top_srcdir)/include -I$(PORTALS)/include -I$(LINUX)/include'
CPPFLAGS="$KINCFLAGS $ARCHCPPFLAGS"
portalsdir_def='$(top_srcdir)/../portals'
-AC_ARG_ENABLE(portalsdir, [ --enable-portalsdir=[path] set path to Portals source (default=../portals)],, enable_portalsdir=$portalsdir_def)
+AC_ARG_WITH(portals, [ --with-portals=[path] set path to Portals source (default=../portals)], enable_portalsdir=$withval)
+AC_ARG_ENABLE(portalsdir, [ --enable-portalsdir=[path] (deprecated) set path to Portals source (default=$(top_srcdir)/../portals)],, enable_portalsdir=$portalsdir_def)
PORTALS=$enable_portalsdir
+
+if test $PORTALS = $portalsdir_def; then
+ PORTALSLOC='../portals'
+else
+ PORTALSLOC=$PORTALS
+fi
+
AC_SUBST(PORTALS)
+AC_SUBST(PORTALSLOC)
+
+portalslib_def=$enable_portalsdir/linux/utils
+AC_ARG_WITH(portalslib, [ --with-portalslib=[path] set path to Portals library (default=../portals/linux/utils)], enable_portalslib=$withval)
+AC_ARG_ENABLE(portalslib, [ --enable-portalslib=[path] (deprecated) set path to Portals lib (default=../portals/linux/utils)],, enable_portalslib=$portalslib_def)
+
+
+if ! test -z "$enable_portalslib"; then
+ PORTALSLIB=${enable_portalslib}
+fi
+
+
+AC_SUBST(PORTALSLIB)
AC_MSG_CHECKING(if make dep has been run in kernel source)
if test -f $LINUX/include/linux/config.h ; then
dnl We need to rid ourselves of the nasty [ ] quotes.
changequote(, )
-LVERSION="`sed -ne 's/^VERSION[ ]*=[ ]*//gp' $LINUX/Makefile`"
-PATCHLEVEL="`sed -ne 's/^PATCHLEVEL[ ]*=[ ]*//gp' $LINUX/Makefile`"
-SUBLEVEL="`sed -ne 's/^SUBLEVEL[ ]*=[ ]*//gp' $LINUX/Makefile`"
-EXTRAVERSION="`sed -ne 's/^EXTRAVERSION[ ]*=[ ]*//gp' $LINUX/Makefile`"
+dnl Get release from version.h
+RELEASE="`sed -ne 's/.*UTS_RELEASE[ \"]*\([0-9.a-zA-Z-]*\).*/\1/p' $LINUX/include/linux/version.h`"
changequote([, ])
-RELEASE="$LVERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION"
-moduledir='$(libdir)/modules/'$RELEASE
+moduledir='$(libdir)/modules/'$RELEASE/kernel
AC_SUBST(moduledir)
-AC_SUBST(EXTRAVERSION)
-modulefsdir='$(moduledir)/fs'
+modulefsdir='$(moduledir)/fs/$(PACKAGE)'
AC_SUBST(modulefsdir)
AC_MSG_RESULT($RELEASE)
demodir='$(docdir)/demo'
AC_SUBST(demodir)
-AC_OUTPUT(Makefile lib/Makefile ldlm/Makefile obdecho/Makefile rpc/Makefile \
- osc/Makefile mdc/Makefile mds/Makefile ost/Makefile utils/Makefile \
- tests/Makefile filterobd/Makefile class/Makefile ext2obd/Makefile \
- llight/Makefile obdfs/Makefile obdtrace/Makefile demos/Makefile \
- snap/Makefile doc/Makefile scripts/Makefile scripts/lustre.spec \
- extN/Makefile)
+# not needed until the AC_CHECK_LIB(readline) above works
+# AM_CONFIG_HEADER(include/config.h)
+
+AC_OUTPUT(Makefile lib/Makefile ldlm/Makefile obdecho/Makefile ptlrpc/Makefile \
+ lov/Makefile osc/Makefile mdc/Makefile mds/Makefile ost/Makefile \
+ utils/Makefile utils/lconf tests/Makefile obdfilter/Makefile \
+ obdclass/Makefile llite/Makefile doc/Makefile scripts/Makefile \
+ scripts/lustre.spec extN/Makefile, chmod +x utils/lconf)