]>
Commit | Line | Data |
---|---|---|
fc49813f NS |
1 | dnl unpacking check - this file must exist |
2 | AC_INIT(include/libxfs.h) | |
3 | pkg_name="xfsprogs" | |
4 | AC_SUBST(pkg_name) | |
5 | ||
f937adac NS |
6 | # For libtool |
7 | AC_PROG_LIBTOOL | |
8 | AC_SUBST(LIBTOOL_DEPS) | |
9 | AC_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 | ||
20 | DEBUG=${DEBUG:-'-DDEBUG'} # -DNDEBUG | |
f91dde66 | 21 | OPTIMIZER=${OPTIMIZER:-'-g'} # (-O1 enforced default) |
fc49813f NS |
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 | |
132c4946 | 37 | . ./VERSION |
fc49813f NS |
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 | ||
f937adac | 44 | pkg_distribution="SGI XFS" |
fc49813f NS |
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 | ||
639231be NS |
111 | dnl Checks for UUID header and library. |
112 | AC_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 |
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) | |
fc49813f NS |
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) | |
a8aec2c9 | 210 | pkg_man_dir=${prefix}/share/man |
fc49813f NS |
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) | |
f937adac NS |
242 | dk_inc_dir=${prefix}/include/disk |
243 | AC_SUBST(dk_inc_dir) | |
fc49813f NS |
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 | ||
f937adac NS |
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 | ||
fc49813f NS |
262 | AC_OUTPUT( \ |
263 | dnl Build definitions for use in Makefiles | |
264 | include/builddefs \ | |
265 | ) |