Whamcloud - gitweb
Branch b1_6
[fs/lustre-release.git] / ldiskfs / configure.ac
1 # Process this file with autoconf to produce a configure script.
2
3 AC_INIT([Lustre ldiskfs], 3.0.8, [https://bugzilla.lustre.org/])
4 AC_CONFIG_SRCDIR([lustre-ldiskfs.spec.in])
5
6 # Don't look for install-sh, etc. in ..
7 AC_CONFIG_AUX_DIR([.])
8
9 AC_CANONICAL_SYSTEM
10
11 AM_INIT_AUTOMAKE
12
13 AC_PROG_CC
14
15 LB_CANONICAL_SYSTEM
16 LB_INCLUDE_RULES
17 LB_PROG_CC
18
19
20 #
21 # LC_TARGET_SUPPORTED
22 #
23 # is the target os supported?
24 #
25 AC_DEFUN([LC_TARGET_SUPPORTED],
26 [case $target_os in
27         linux* | darwin*)
28 $1
29                 ;;
30         *)
31 $2
32                 ;;
33 esac
34 ])
35
36 AC_DEFUN([LC_KERNEL_WITH_EXT4],
37 [if test -f $LINUX/fs/ext4/ext4.h ; then
38 $1
39 else
40 $2
41 fi
42 ])
43
44 AC_MSG_CHECKING([whether to build kernel modules])
45 AC_ARG_ENABLE([modules],
46               AC_HELP_STRING([--disable-modules],
47                              [disable building of Lustre kernel modules]),[],
48                              [LC_TARGET_SUPPORTED([enable_modules='yes'],
49                              [enable_modules='no'])])
50 AC_MSG_RESULT([$enable_modules])
51
52 if test x$enable_modules = xyes ; then
53         LB_PROG_LINUX
54 if test x$linux25 = xyes ; then
55         LB_LINUX_MODPOST
56 fi
57 fi
58
59 LB_CONFIG_HEADERS
60
61 # These allow Lustre Makefiles and autoMakefiles to be used unchanged.
62 AM_CONDITIONAL(MODULES, true)
63 AM_CONDITIONAL(LINUX, true)
64 AM_CONDITIONAL(DARWIN, true)
65 AM_CONDITIONAL(LINUX25, true)
66
67 LDISKFSDIR="$PWD/ldiskfs"
68 AC_SUBST(LDISKFSDIR)
69
70 AC_MSG_CHECKING([whether to enable quilt for making ldiskfs])
71 AC_ARG_ENABLE([quilt],
72               AC_HELP_STRING([--disable-quilt],
73                              [disable use of quilt for ldiskfs]),[],
74                              [enable_quilt='yes'])
75 AC_MSG_RESULT([$enable_quilt])
76
77 AC_PATH_PROG(PATCH, patch, [no])
78
79 if test x$enable_quilt = xno ; then
80     QUILT="no"
81 else
82     AC_PATH_PROG(QUILT, quilt, [no])
83 fi
84
85 if test x$enable_ldiskfs$PATCH$QUILT = xyesnono ; then
86         AC_MSG_ERROR([Quilt or patch are needed to build the ldiskfs module])
87 fi
88
89 AM_CONDITIONAL(USE_QUILT, test x$QUILT != xno)
90
91 LB_DEFINE_LDISKFS_OPTIONS
92
93 AC_MSG_CHECKING([whether to build ldisk base on ext4])
94 AC_ARG_ENABLE([ext4],
95               AC_HELP_STRING([--disable-ext4],
96                              [disable building of ldiskfs base on ext4]),[],
97                              [LC_KERNEL_WITH_EXT4([enable_ext4='yes'],
98                              [enable_ext4='no'])])
99 AC_MSG_RESULT([$enable_ext4])
100
101 if test x$enable_ext4 = xyes ; then
102         BACKFS=ext4
103 else
104         BACKFS=ext3
105 fi
106 AC_SUBST(BACKFS)
107 BACKFSU=${BACKFS/ext/EXT}
108 AC_SUBST(BACKFSU) # We need a Upper string
109
110 AM_CONDITIONAL(USE_EXT4, test x$enable_ext4 = xyes)
111
112 AC_MSG_CHECKING([which ldiskfs series to use])
113 case $LINUXRELEASE in
114 2.6.5*) LDISKFS_SERIES="2.6-suse.series" ;;
115 2.6.9*) LDISKFS_SERIES="2.6-rhel4.series" ;;
116 2.6.10-ac*) LDISKFS_SERIES="2.6-fc3.series" ;;
117 2.6.10*) LDISKFS_SERIES="2.6-rhel4.series" ;;
118 2.6.12*) LDISKFS_SERIES="2.6.12-vanilla.series" ;;
119 2.6.15*) LDISKFS_SERIES="2.6-fc5.series";;
120 2.6.16*) LDISKFS_SERIES="2.6-sles10.series";;
121 2.6.18*)
122         if test x$RHEL_KENEL = xyes; then
123                 if test x$enable_ext4 = xyes; then
124                         LDISKFS_SERIES="2.6-rhel5-ext4.series"
125                 else
126                         LDISKFS_SERIES="2.6-rhel5.series"
127                 fi
128         else
129                 LDISKFS_SERIES="2.6.18-vanilla.series"
130         fi
131         ;;
132 2.6.22*) LDISKFS_SERIES="2.6.22-vanilla.series";;
133 2.6.27*) LDISKFS_SERIES="2.6.27-vanilla.series";;
134 *) AC_MSG_WARN([Unknown kernel version $LINUXRELEASE, fix ldiskfs/configure.ac])
135 esac
136 AC_MSG_RESULT([$LDISKFS_SERIES])
137 AC_SUBST(LDISKFS_SERIES)
138
139 AC_SUBST(ac_configure_args)
140
141 LB_CHECK_SYMBOL_EXPORT([d_rehash_cond],
142                        [fs/dcache.c],
143                        [AC_DEFINE(HAVE_D_REHASH_COND, 1,
144                                   [d_rehash_cond is exported by the kernel])],
145                                   [])
146
147 LB_CHECK_SYMBOL_EXPORT([__d_rehash],
148                        [fs/dcache.c],
149                        [AC_DEFINE(HAVE___D_REHASH, 1,
150                                   [__d_rehash is exported by the kernel])],
151                                   [])
152
153 LB_CHECK_SYMBOL_EXPORT([d_move_locked],
154                        [fs/dcache.c],
155                        [AC_DEFINE(HAVE_D_MOVE_LOCKED, 1,
156                                   [d_move_locked is exported by the kernel])],
157                                   [])
158
159 LB_CHECK_SYMBOL_EXPORT([__d_move],
160                        [fs/dcache.c],
161                        [AC_DEFINE(HAVE___D_MOVE, 1,
162                                   [__d_move exported by the kernel])],
163                                   [])
164
165 LB_CONFIG_FILES
166 AC_CONFIG_FILES([ldiskfs/autoMakefile ldiskfs/Makefile])
167
168 MOSTLYCLEANFILES='.*.cmd .*.flags *.o *.ko *.mod.c .depend .*.1.* Modules.symvers Module.symvers'
169 AC_SUBST(MOSTLYCLEANFILES)
170
171 AC_OUTPUT