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