aboutsummaryrefslogtreecommitdiff
path: root/configure.in
blob: c41bf86f5d6a60af4464b8779cc17c926405033b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
dnl -*- shell-script -*-
dnl Process this file with autoconf to produce a configure script.
AC_INIT(kernel/mpio.c)
dnl AM_CONFIG_HEADER(src/config.h)

AC_CANONICAL_SYSTEM()
AC_MSG_RESULT(Building for a ${host} host.)

AM_INIT_AUTOMAKE(mpio, 0.6.0)

dnl Checks for programs.

AC_PROG_MAKE_SET
AC_PROG_CC
AM_PROG_LIBTOOL

dnl Check for endianess

AC_LANG_C
AC_C_BIGENDIAN

dnl Checks for header files.

AC_CHECK_HEADER(getopt.h,HAVE_GETOPT_H=1,HAVE_GETOPT_H=0)
AC_SUBST(HAVE_GETOPT_H)

dnl --- checking for readline

AC_CHECK_HEADER(readline/readline.h,,
    AC_ERROR(could not find readline header files))

dnl --- include mplib if not disabled manually

AC_DEFUN([TEST_MPLIB],
[AC_ARG_WITH([mplib],
             AC_HELP_STRING([--without-mplib],
                            [disable use of mplib]),
             [ac_cv_use_mplib=$withval], [ac_cv_use_mplib=yes])
AC_CACHE_CHECK([whether to use mplib],
               [ac_cv_use_mplib], [ac_cv_use_mplib=yes])])

TEST_MPLIB

if test "$ac_cv_use_mplib" = yes; then
  AC_CONFIG_SUBDIRS(mplib)
  MPLIB_INCLUDE=-I../mplib/src
  MPLIB_CFLAGS=-DMPLIB
  MPLIB_LIBADD=../mplib/src/libmp.la 
  MPLIB_SUBDIR=mplib
fi

AC_SUBST(MPLIB_INCLUDE)
AC_SUBST(MPLIB_CFLAGS)
AC_SUBST(MPLIB_LIBADD)
AC_SUBST(MPLIB_SUBDIR)

dnl --- check for kernel version
kernel_version=`uname -r 2>&1`
echo -n "checking for kernel version ... "
case "$kernel_version" in
  '') kernel_version="?.??"; _k_verc_fail=yes;;
  [0-1].[0-9].[0-9]*|2.[0-1].[0-9]*)
    _k_verc_fail=no;;
esac
echo $kernel_version
if test "$_k_verc_fail" ; then
  echo "  Your kernel version is too old."
  echo "  Please update your system to a kernel version of 2.2.x or higher."
  AC_ERROR(too old)
fi

MODULE_PATH="/lib/modules/${kernel_version}"
if test -d "${MODULE_PATH}/kernel/drivers/usb"; then
    MODULE_PATH="${MODULE_PATH}/kernel/drivers/usb"
    SPEC_PATH="kernel/drivers/usb"
else
    MODULE_PATH="${MODULE_PATH}/misc"
    SPEC_PATH="misc"
fi

AC_MSG_RESULT(Using module path ${MODULE_PATH}.)
AC_SUBST(MODULE_PATH)
AC_SUBST(SPEC_PATH)

KERNEL_INCLUDE=
if test -d "/lib/modules/${kernel_version}/build/include"; then
    KERNEL_INCLUDE="/lib/modules/${kernel_version}/build/include"
elif test -d "/usr/src/linux-2.4/include"; then
    KERNEL_INCLUDE="/usr/src/linux-2.4/include"
elif test -d "/usr/include/linux"; then
    KERNEL_INCLUDE="/usr/include/linux"
elif test -d "/usr/src/linux/include"; then
    KERNEL_INCLUDE="/usr/src/linux/include"
fi

if test -z ${KERNEL_INCLUDE}; then
    AC_ERROR(could not find directory of kernel include files)
else
    AC_MSG_RESULT(Using kernel includes from ${KERNEL_INCLUDE})
fi
AC_SUBST(KERNEL_INCLUDE)

dnl ------------------------------------------------------------

# could not find a way to compile the kernel module correctly
#    kernel/Makefile
AC_OUTPUT(
    Makefile
    kernel/Makefile
    libmpio/Makefile
    mpiosh/Makefile
    etc/Makefile
    tools/Makefile
    mpio.spec
)