]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blob - configure.in
Correct parsing of mount options from hasmntopt() - parse on ","
[thirdparty/xfsprogs-dev.git] / configure.in
1 dnl unpacking check - this file must exist
2 AC_INIT(include/libxfs.h)
3 pkg_name="xfsprogs"
4 AC_SUBST(pkg_name)
5
6 # For libtool
7 AC_PROG_LIBTOOL
8 AC_SUBST(LIBTOOL_DEPS)
9 AC_SUBST(enable_shared)
10
11
12 #
13 # Note: the following environment variables may be set to override the
14 # defaults (to change paths and/or executables, build parameters, etc):
15 #
16 # DEBUG OPTIMIZER MAKE CC LD TAR ZIP RPM AWK SED ECHO
17 # MALLOCLIB DISTRIBUTION PACKAGE_BUILDER PREFIX ROOT_PREFIX
18 #
19
20 DEBUG=${DEBUG:-'-DDEBUG'} # -DNDEBUG
21 OPTIMIZER=${OPTIMIZER:-'-g'} # (-O1 enforced default)
22 MALLOCLIB=${MALLOCLIB:-''} # /usr/lib/libefence.a
23
24 dnl Debug build?
25 debug_build="$DEBUG"
26 AC_SUBST(debug_build)
27
28 dnl Optimization options?
29 opt_build="$OPTIMIZER"
30 AC_SUBST(opt_build)
31
32 dnl Alternate malloc library?
33 malloc_lib="$MALLOCLIB"
34 AC_SUBST(malloc_lib)
35
36 dnl Set version
37 . ./VERSION
38
39 pkg_version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION}
40 pkg_release=$PKG_BUILD
41 AC_SUBST(pkg_version)
42 AC_SUBST(pkg_release)
43
44 pkg_distribution="SGI XFS"
45 test -z "$DISTRIBUTION" || pkg_distribution="$DISTRIBUTION"
46 AC_SUBST(pkg_distribution)
47
48 pkg_builder=`id -u -n`@`hostname -f`
49 test -z "$PACKAGE_BUILDER" || pkg_builder="$PACKAGE_BUILDER"
50 AC_SUBST(pkg_builder)
51
52
53 dnl output header with cpp defs HAVE_*, etc
54 AC_CONFIG_HEADER(include/platform_defs.h)
55
56 dnl check if user wants their own C compiler
57 test -z "$CC" && AC_PROG_CC
58 cc=$CC
59 AC_SUBST(cc)
60
61 dnl check if users wants their own make
62 test -z "$MAKE" && AC_PATH_PROG(MAKE, make, /usr/bin/make)
63 make=$MAKE
64 AC_SUBST(make)
65
66 dnl check if users wants their own linker
67 test -z "$LD" && AC_PATH_PROG(LD, ld, /usr/bin/ld)
68 ld=$LD
69 AC_SUBST(ld)
70
71 dnl check if the tar program is available
72 test -z "$TAR" && AC_PATH_PROG(TAR, tar)
73 tar=$TAR
74 AC_SUBST(tar)
75
76 dnl check if the gzip program is available
77 test -z "$ZIP" && AC_PATH_PROG(ZIP, gzip, /bin/gzip)
78 zip=$ZIP
79 AC_SUBST(zip)
80
81 dnl check if the rpm program is available
82 test -z "$RPM" && AC_PATH_PROG(RPM, rpm, /bin/rpm)
83 rpm=$RPM
84 AC_SUBST(rpm)
85
86 dnl .. and what version is rpm
87 rpm_version=0
88 test -x $RPM && \
89 rpm_version=`$RPM --version | awk '{print $NF}' | awk -F. '{print $1}'`
90 AC_SUBST(rpm_version)
91
92 dnl check if the makedepend program is available
93 test -z "$MAKEDEPEND" && AC_PATH_PROG(MAKEDEPEND, makedepend, /bin/true)
94 makedepend=$MAKEDEPEND
95 AC_SUBST(makedepend)
96
97 dnl check if symbolic links are supported
98 AC_PROG_LN_S
99
100 dnl check if user wants their own awk, sed and echo
101 test -z "$AWK" && AC_PATH_PROG(AWK, awk, /bin/awk)
102 awk=$AWK
103 AC_SUBST(awk)
104 test -z "$SED" && AC_PATH_PROG(SED, sed, /bin/sed)
105 sed=$SED
106 AC_SUBST(sed)
107 test -z "$ECHO" && AC_PATH_PROG(ECHO, echo, /bin/echo)
108 echo=$ECHO
109 AC_SUBST(echo)
110
111 dnl Checks for UUID header and library.
112 AC_CHECK_HEADER(uuid/uuid.h,, [
113 echo
114 echo 'FATAL ERROR: could not find a valid UUID header.'
115 echo 'Install either the e2fsprogs-devel (rpm) or the uuid-dev (deb) package.'
116 exit 1
117 ])
118 AC_CHECK_LIB(uuid, uuid_generate,, [
119 echo
120 echo 'FATAL ERROR: could not find a valid UUID library.'
121 echo 'Install either the e2fsprogs-devel (rpm) or the uuid-dev (deb) package.'
122 exit 1
123 ])
124 libuuid="/usr/lib/libuuid.a"
125 AC_SUBST(libuuid)
126
127 dnl Checks for LVM library
128 AC_MSG_CHECKING([for liblvm.a])
129 liblvm=""
130 for dir in /usr/local/lib /usr/lib /lib; do
131 if test -f $dir/liblvm.a; then
132 liblvm=$dir/liblvm.a
133 fi
134 done
135 if test -n "$liblvm"; then
136 AC_MSG_RESULT(yes)
137 have_liblvm=1
138 else
139 AC_MSG_RESULT(no)
140 have_liblvm=0
141 fi
142 AC_SUBST(liblvm)
143 AC_SUBST(have_liblvm)
144
145 dnl Check if we have a type for the pointer's size integer (__psint_t)
146 AC_MSG_CHECKING([for __psint_t ])
147 AC_TRY_COMPILE(
148 [
149 #include <sys/types.h>
150 #include <stdlib.h>
151 #include <stddef.h>
152 ],
153 [
154 __psint_t psint;
155 ], AC_DEFINE(HAVE___PSINT_T) AC_MSG_RESULT(yes) , AC_MSG_RESULT(no))
156
157 dnl Check if we have a type for the pointer's size unsigned (__psunsigned_t)
158 AC_MSG_CHECKING([for __psunsigned_t ])
159 AC_TRY_COMPILE(
160 [
161 #include <sys/types.h>
162 #include <stdlib.h>
163 #include <stddef.h>
164 ],
165 [
166 __psunsigned_t psuint;
167 ], AC_DEFINE(HAVE___PSUNSIGNED_T) AC_MSG_RESULT(yes) , AC_MSG_RESULT(no))
168
169
170 dnl check sizeof long
171 AC_MSG_CHECKING([sizeof long])
172 cat <<End-of-File >conftest.c
173 #include <stdio.h>
174 main() { printf("%d\n", sizeof(long)); }
175 End-of-File
176 (eval $ac_compile) 2>&5
177 (eval $ac_link) 2>&5
178 ans=`./conftest`
179 echo "./conftest -> \"$ans\"" >&5
180 AC_MSG_RESULT($ans)
181 test $ans -eq 4 && AC_DEFINE(HAVE_32BIT_LONG)
182 test $ans -eq 8 && AC_DEFINE(HAVE_64BIT_LONG)
183 rm -f conftest conftest.*
184
185 dnl check sizeof pointer
186 AC_MSG_CHECKING([sizeof pointer])
187 cat <<End-of-File >conftest.c
188 #include <stdio.h>
189 main() { printf("%d\n", sizeof(char *)); }
190 End-of-File
191 (eval $ac_compile) 2>&5
192 (eval $ac_link) 2>&5
193 ans=`./conftest`
194 echo "./conftest -> \"$ans\"" >&5
195 AC_MSG_RESULT($ans)
196 test $ans -eq 4 && AC_DEFINE(HAVE_32BIT_PTR)
197 test $ans -eq 8 && AC_DEFINE(HAVE_64BIT_PTR)
198 rm -f conftest conftest.*
199
200
201 dnl alternate root and usr prefixes
202 test -z "$ROOT_PREFIX" && ROOT_PREFIX=""
203 root_prefix="$ROOT_PREFIX"
204 test -z "$PREFIX" && PREFIX="/usr"
205 prefix="$PREFIX"
206
207 dnl man pages (source)
208 dnl also check if man page source is gzipped
209 dnl (usually on Debian, but not Redhat pre-7.0)
210 pkg_man_dir=${prefix}/share/man
211 have_zipped_manpages=false
212 for d in ${prefix}/share/man ${prefix}/man ; do
213 if test -f $d/man1/man.1.gz
214 then
215 pkg_man_dir=$d
216 have_zipped_manpages=true
217 break
218 fi
219 done
220 AC_SUBST(pkg_man_dir)
221 AC_SUBST(have_zipped_manpages)
222
223 dnl binaries
224 pkg_bin_dir=${prefix}/sbin
225 AC_SUBST(pkg_bin_dir)
226
227 dnl static libraries
228 pkg_lib_dir=${prefix}/lib
229 AC_SUBST(pkg_lib_dir)
230
231 dnl runtime shared system libraries
232 pkg_slib_dir=${root_prefix}/lib
233 AC_SUBST(pkg_slib_dir)
234
235 dnl system binaries
236 pkg_sbin_dir=${root_prefix}/sbin
237 AC_SUBST(pkg_sbin_dir)
238
239 dnl include files
240 pkg_inc_dir=${prefix}/include/xfs
241 AC_SUBST(pkg_inc_dir)
242 dk_inc_dir=${prefix}/include/disk
243 AC_SUBST(dk_inc_dir)
244
245 dnl doc directory
246 pkg_doc_dir=${prefix}/share/doc/${pkg_name}
247 AC_SUBST(pkg_doc_dir)
248
249
250 dnl
251 dnl output files
252 dnl
253
254 #For libtool, from section 5.4.2 of the libtool manual. Just in
255 # case we ever need them.
256 LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'`
257 AC_SUBST(LTLIBOBJS)
258 LTALLOCA=`echo "$ALLOCA" | sed 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'`
259 AC_SUBST(LTALLOCA)
260
261
262 AC_OUTPUT( \
263 dnl Build definitions for use in Makefiles
264 include/builddefs \
265 )