1f363b49169b3af4394fdf6df8c75ed250aca628
[xfstests-dev.git] / configure.in
1 dnl unpacking check - this file must exist
2 AC_INIT(src/fsstress.c)
3 pkg_name="xfstests"
4 AC_SUBST(pkg_name)
5
6 #
7 # Note: the following environment variables may be set to override the
8 # defaults (to change paths and/or executables, build parameters, etc):
9 #
10 #   DEBUG  OPTIMIZER  MAKE  CC  LD  TAR  ZIP  RPM  AWK  SED  ECHO
11 #   MALLOCLIB  DISTRIBUTION  PACKAGE_BUILDER  PREFIX  ROOT_PREFIX
12 #
13
14 DEBUG=${DEBUG:-'-DDEBUG'}               # -DNDEBUG
15 OPTIMIZER=${OPTIMIZER:-'-g'}            # -O2
16 MALLOCLIB=${MALLOCLIB:-''}              # /usr/lib/libefence.a
17
18 dnl Debug build?
19 debug_build="$DEBUG"
20 AC_SUBST(debug_build)
21
22 dnl Optimization options?
23 opt_build="$OPTIMIZER"
24 AC_SUBST(opt_build)
25
26 dnl Alternate malloc library?
27 malloc_lib="$MALLOCLIB"
28 AC_SUBST(malloc_lib)
29
30 dnl Set version
31 . VERSION
32
33 pkg_version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION}
34 pkg_release=$PKG_BUILD
35 AC_SUBST(pkg_version)
36 AC_SUBST(pkg_release)
37
38 pkg_distribution="SGI ProPack"
39 test -z "$DISTRIBUTION" || pkg_distribution="$DISTRIBUTION"
40 AC_SUBST(pkg_distribution)
41
42 pkg_builder=`id -u -n`@`hostname -f`
43 test -z "$PACKAGE_BUILDER" || pkg_builder="$PACKAGE_BUILDER"
44 AC_SUBST(pkg_builder)
45
46 dnl check if user wants their own C compiler
47 test -z "$CC" && AC_PROG_CC
48 cc=$CC
49 AC_SUBST(cc)
50
51 dnl check if users wants their own make
52 test -z "$MAKE" && AC_PATH_PROG(MAKE, make, /usr/bin/make)
53 make=$MAKE
54 AC_SUBST(make)
55
56 dnl check if users wants their own linker
57 test -z "$LD" && AC_PATH_PROG(LD, ld, /usr/bin/ld)
58 ld=$LD
59 AC_SUBST(ld)
60
61 dnl check if the tar program is available
62 test -z "$TAR" && AC_PATH_PROG(TAR, tar)
63 tar=$TAR
64 AC_SUBST(tar)
65
66 dnl check if the gzip program is available
67 test -z "$ZIP" && AC_PATH_PROG(ZIP, gzip, /bin/gzip)
68 zip=$ZIP
69 AC_SUBST(zip)
70
71 dnl check if the rpm program is available
72 test -z "$RPM" && AC_PATH_PROG(RPM, rpm, /bin/rpm)
73 rpm=$RPM
74 AC_SUBST(rpm)
75
76 dnl .. and what version is rpm
77 rpm_version=0
78 test -x $RPM && \
79         rpm_version=`$RPM --version | awk '{print $NF}' | awk -F. '{print $1}'`
80 AC_SUBST(rpm_version)
81
82 dnl check if the makedepend program is available
83 test -z "$MAKEDEPEND" && AC_PATH_PROG(MAKEDEPEND, makedepend, /bin/true)
84 makedepend=$MAKEDEPEND
85 AC_SUBST(makedepend)
86
87 dnl check if symbolic links are supported
88 AC_PROG_LN_S
89
90 dnl check if user wants their own awk, sed and echo
91 test -z "$AWK" && AC_PATH_PROG(AWK, awk, /bin/awk)
92 awk=$AWK
93 AC_SUBST(awk)
94 test -z "$SED" && AC_PATH_PROG(SED, sed, /bin/sed)
95 sed=$SED
96 AC_SUBST(sed)
97 test -z "$ECHO" && AC_PATH_PROG(ECHO, echo, /bin/echo)
98 echo=$ECHO
99 AC_SUBST(echo)
100
101 CPPFLAGS="-I/usr/include/xfs"
102 AC_SUBST(CPPFLAGS)
103
104 dnl Checks for UUID header and library.
105 AC_CHECK_HEADER(uuid/uuid.h,, [
106         echo
107         echo 'FATAL ERROR: could not find a valid UUID header.'
108         echo 'Install either the e2fsprogs-devel (rpm) or the uuid-dev (deb) package.'
109         exit 1
110 ])
111 AC_CHECK_LIB(uuid, uuid_generate,, [
112         echo
113         echo 'FATAL ERROR: could not find a valid UUID library.'
114         echo 'Install either the e2fsprogs-devel (rpm) or the uuid-dev (deb) package.'
115         exit 1
116 ])
117 libuuid="/usr/lib/libuuid.a"
118 AC_SUBST(libuuid)
119
120 dnl Checks for base XFS headers and libraries.
121 AC_CHECK_HEADER(xfs/libxfs.h,, [
122         echo
123         echo 'FATAL ERROR: could not find a valid XFS library header.'
124         echo 'Install either the xfsprogs-devel (rpm) or the xfslibs-dev (deb) package.'
125         exit 1
126 ])
127 AC_CHECK_LIB(xfs, libxfs_init,, [
128         echo
129         echo 'FATAL ERROR: could not find a valid XFS base library.'
130         echo 'Install either the xfsprogs-devel (rpm) or the xfslibs-dev (deb) package.'
131 ])
132 AC_CHECK_HEADER(xfs/handle.h,, [
133         echo
134         echo 'FATAL ERROR: could not find a valid XFS handle header.'
135         echo 'Install either the xfsprogs-devel (rpm) or the xfslibs-dev (deb) package.'
136         exit 1
137 ])
138 AC_CHECK_LIB(handle, path_to_handle,, [
139         echo
140         echo 'FATAL ERROR: could not find a valid XFS handle library.'
141         echo 'Install either the xfsprogs-devel (rpm) or the xfslibs-dev (deb) package.'
142 ])
143 libxfs="-lxfs"
144 libhdl="-lhandle"
145 AC_SUBST(libxfs)
146 AC_SUBST(libhdl)
147
148 dnl Checks for Extended Attributes header and library.
149 AC_CHECK_HEADER(attr/attributes.h,, [
150         echo
151         echo 'FATAL ERROR: could not find a valid Extended Attributes header.'
152         echo 'Install either the attr-devel (rpm) or the attr-dev (deb) package.'
153         exit 1
154 ])
155 AC_CHECK_LIB(attr, attr_get,, [
156         echo
157         echo 'FATAL ERROR: could not find a valid Extended Attributes library.'
158         echo 'Install either the attr-devel (rpm) or the attr-dev (deb) package.'
159 ])
160 libattr="/usr/lib/libattr.a"
161 AC_SUBST(libattr)
162
163 dnl Checks for Access Control List header and library.
164 AC_CHECK_HEADER(acl/acl.h,, [
165         echo
166         echo 'FATAL ERROR: could not find a valid Access Control List header.'
167         echo 'Install either the acl-devel (rpm) or the acl-dev (deb) package.'
168         exit 1
169 ])
170 AC_CHECK_LIB(acl, acl_get,, [
171         echo
172         echo 'FATAL ERROR: could not find a valid Access Control List library.'
173         echo 'Install either the acl-devel (rpm) or the acl-dev (deb) package.'
174 ])
175 libacl="/usr/lib/libacl.a"
176 AC_SUBST(libacl)
177
178 dnl Checks for GNU database manager header and library.
179 AC_CHECK_HEADER(gdbm.h,, [
180         echo
181         echo 'FATAL ERROR: could not find a valid GNU database manager header.'
182         echo 'Install either the gdbm-devel (rpm) or the libgdbmg1-dev (deb) package.'
183 ])
184 AC_CHECK_LIB(gdbm, gdbm_open,, [
185         echo
186         echo 'FATAL ERROR: could not find a valid GNU database manager library.'
187         echo 'Install either the gdbm-devel (rpm) or the libgdbmg1-dev (deb) package.'
188 ])
189 libgdbm="/usr/lib/libgdbm.a"
190 AC_SUBST(libgdbm)
191
192
193 dnl alternate root and usr prefixes
194 test -z "$ROOT_PREFIX" && ROOT_PREFIX=""
195 root_prefix="$ROOT_PREFIX"
196 test -z "$PREFIX" && PREFIX="/usr"
197 prefix="$PREFIX"
198
199 dnl man pages (source)
200 dnl also check if man page source is gzipped
201 dnl (usually on Debian, but not Redhat pre-7.0)
202 have_zipped_manpages=false
203 for d in ${prefix}/share/man ${prefix}/man ; do
204     if test -f $d/man1/man.1.gz
205     then
206         pkg_man_dir=$d
207         have_zipped_manpages=true
208         break
209     fi
210 done
211 AC_SUBST(pkg_man_dir)
212 AC_SUBST(have_zipped_manpages)
213
214 dnl binaries
215 pkg_bin_dir=${prefix}/sbin
216 AC_SUBST(pkg_bin_dir)
217
218 dnl static libraries
219 pkg_lib_dir=${prefix}/lib
220 AC_SUBST(pkg_lib_dir)
221
222 dnl runtime shared system libraries
223 pkg_slib_dir=${root_prefix}/lib
224 AC_SUBST(pkg_slib_dir)
225
226 dnl system binaries
227 pkg_sbin_dir=${root_prefix}/sbin
228 AC_SUBST(pkg_sbin_dir)
229
230 dnl include files
231 pkg_inc_dir=${prefix}/include
232 AC_SUBST(pkg_inc_dir)
233
234 dnl doc directory
235 pkg_doc_dir=${prefix}/share/doc/${pkg_name}
236 AC_SUBST(pkg_doc_dir)
237
238
239 dnl
240 dnl output files
241 dnl
242
243 AC_OUTPUT( \
244 dnl  Build definitions for use in Makefiles
245     include/builddefs \
246 )