]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - configure.in
ChangeLog, get_device_by_label.c:
[thirdparty/e2fsprogs.git] / configure.in
CommitLineData
50e1e10f 1AC_INIT(version.h)
a4b2d3ce 2AC_PREREQ(2.12)
50e1e10f
TT
3MCONFIG=./MCONFIG
4AC_SUBST_FILE(MCONFIG)
74becf3c
TT
5BINARY_TYPE=bin
6dnl
7dnl This is to figure out the version number and the date....
8dnl
9E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h \
10 | awk '{print $3}' | tr \" " " | awk '{print $1}'`
11DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \
12 | tr \" " "`
13MONTH=`echo $DATE | awk -F- '{print $2}'`
14YEAR=`echo $DATE | awk -F- '{print $3}'`
15
40fa8cc9
TT
16if expr $YEAR ">" 1900 > /dev/null ; then
17 E2FSPROGS_YEAR=$YEAR
18elif expr $YEAR ">" 90 >/dev/null ; then
74becf3c
TT
19 E2FSPROGS_YEAR=19$YEAR
20else
21 E2FSPROGS_YEAR=20$YEAR
22fi
23
24case $MONTH in
25Jan) E2FSPROGS_MONTH="January" ;;
26Feb) E2FSPROGS_MONTH="February" ;;
27Mar) E2FSPROGS_MONTH="March" ;;
28Apr) E2FSPROGS_MONTH="April" ;;
29May) E2FSPROGS_MONTH="May" ;;
30Jun) E2FSPROGS_MONTH="June" ;;
31Jul) E2FSPROGS_MONTH="July" ;;
32Aug) E2FSPROGS_MONTH="August" ;;
33Sep) E2FSPROGS_MONTH="September" ;;
34Oct) E2FSPROGS_MONTH="October" ;;
35Nov) E2FSPROGS_MONTH="November" ;;
36Dec) E2FSPROGS_MONTH="December" ;;
37*) echo "Unknown month $MONTH??" ;;
38esac
39
40unset DATE MONTH YEAR
41echo "Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION"
42echo "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}"
43AC_SUBST(E2FSPROGS_YEAR)
44AC_SUBST(E2FSPROGS_MONTH)
45AC_SUBST(E2FSPROGS_VERSION)
fc6d9d51 46AC_REQUIRE([AC_CANONICAL_HOST])
74becf3c
TT
47dnl
48dnl set $(CC) from --with-cc=value
49dnl
50AC_ARG_WITH([cc],
51[ --with-cc=COMPILER select compiler to use],
52AC_MSG_RESULT(CC=$withval)
53CC=$withval,
54if test -z "$CC" ; then CC=cc; fi
55[AC_MSG_RESULT(CC defaults to $CC)])dnl
56export CC
57AC_SUBST([CC])
73ae2d4a 58AC_PROG_CC
74becf3c
TT
59dnl
60dnl set $(LD) from --with-linker=value
61dnl
62AC_ARG_WITH([linker],
63[ --with-linker=LINKER select linker to use],
64AC_MSG_RESULT(LD=$withval)
65LD=$withval,
66if test -z "$LD" ; then LD=$CC; fi
67[AC_MSG_RESULT(LD defaults to $LD)])dnl
68export LD
69AC_SUBST([LD])
70dnl
71dnl set $(CCOPTS) from --with-ccopts=value
72dnl
73AC_ARG_WITH([ccopts],
74[ --with-ccopts=CCOPTS select compiler command line options],
75AC_MSG_RESULT(CCOPTS is $withval)
76CCOPTS=$withval
77CFLAGS="$CFLAGS $withval",
78CCOPTS=)dnl
79AC_SUBST(CCOPTS)
80dnl
f8bd9807
TT
81dnl On systems without linux header files, we add an extra include directory
82dnl that holds enough to fake it (hopefully). Note that the $(top_srcdir) here
83dnl is quoted so that it gets expanded by make, not by configure.
84dnl
85AC_CHECK_HEADER(linux/fs.h, [linux_headers=yes], [linux_headers=no])
73ae2d4a
TT
86if test "$linux_headers" != yes; then
87 LINUX_INCLUDE='-I$(top_builddir)/include'
f8bd9807
TT
88fi
89AC_SUBST(LINUX_INCLUDE)
90dnl
a4d09610
TT
91dnl Set default values for library extentions. Will be dealt with after
92dnl parsing configuration opions, which may modify these
93dnl
94LIB_EXT=.a
95STATIC_LIB_EXT=.a
96PROFILE_LIB_EXT=.a
97dnl
74becf3c
TT
98dnl set $(LDFLAGS) from --with-ldopts=value
99dnl
100AC_ARG_WITH([ldopts],
101[ --with-ldopts=LDOPTS select linker command line options],
102AC_MSG_RESULT(LDFLAGS is $withval)
103LDFLAGS=$withval,
104LDFLAGS=)dnl
105AC_SUBST(LDFLAGS)
50e1e10f 106dnl
a4b2d3ce 107dnl Allow separate `root_prefix' to be specified
fc6d9d51 108dnl
a4b2d3ce
TT
109AC_ARG_WITH([root-prefix],
110[ --with-root-prefix=PREFIX override prefix variable for files to be placed in the root],
111root_prefix=$withval,
112root_prefix=NONE)dnl
fc6d9d51 113dnl
1917875f
TT
114dnl handle --enable-compression
115dnl
116AC_ARG_ENABLE([compression],
117[ --enable-compression enable EXPERIMENTAL compression support],
118if test "$enableval" = "no"
119then
120 echo "Disabling compression support"
121else
122 AC_DEFINE(ENABLE_COMPRESSION)
123 echo "Enabling compression support"
124 echo "WARNING: Compression support is experimental"
125fi
126,
127echo "Disabling compression support by default"
128)
129dnl
50e1e10f
TT
130dnl handle --enable-dll-shlibs
131dnl
132AC_ARG_ENABLE([dll-shlibs],
a4d09610 133[ --enable-dll-shlibs select DLL libraries],
50e1e10f
TT
134if test "$enableval" = "no"
135then
136 DLL_CMT=#
137 MAKEFILE_DLL=/dev/null
138 echo "Disabling DLL shared libraries"
139else
140 DLL_CMT=
141 MAKEFILE_DLL=$srcdir/lib/Makefile.dll-lib
74becf3c 142 BINARY_TYPE=dllbin
a4d09610 143 LIB_EXT=.sa
50e1e10f
TT
144 echo "Enabling DLL shared libraries"
145fi
146,
147MAKEFILE_DLL=/dev/null
148DLL_CMT=#
149echo "Disabling DLL shared libraries by default"
150)
151AC_SUBST(DLL_CMT)
152AC_SUBST_FILE(MAKEFILE_DLL)
153dnl
154dnl handle --enable-elf-shlibs
155dnl
156AC_ARG_ENABLE([elf-shlibs],
a4d09610 157[ --enable-elf-shlibs select ELF shared libraries],
50e1e10f
TT
158if test "$enableval" = "no"
159then
160 ELF_CMT=#
161 MAKEFILE_ELF=/dev/null
162 echo "Disabling ELF shared libraries"
163else
164 ELF_CMT=
165 MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
74becf3c 166 BINARY_TYPE=elfbin
a4d09610 167 LIB_EXT=.so
50e1e10f
TT
168 echo "Enabling ELF shared libraries"
169fi
170,
171MAKEFILE_ELF=/dev/null
172ELF_CMT=#
173echo "Disabling ELF shared libraries by default"
174)
175AC_SUBST(ELF_CMT)
176AC_SUBST_FILE(MAKEFILE_ELF)
177dnl
178dnl handle --enable-bsd-shlibs
179dnl
180AC_ARG_ENABLE([bsd-shlibs],
a4d09610 181[ --enable-bsd-shlibs select BSD shared libraries],
50e1e10f
TT
182if test "$enableval" = "no"
183then
184 BSDLIB_CMT=#
185 MAKEFILE_BSDLIB=/dev/null
186 echo "Disabling BSD shared libraries"
187else
188 BSDLIB_CMT=
189 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
a4d09610 190 LIB_EXT=.so
50e1e10f
TT
191 echo "Enabling BSD shared libraries"
192fi
193,
194MAKEFILE_BSDLIB=/dev/null
195BSDLIB_CMT=#
196echo "Disabling BSD shared libraries by default"
197)
198AC_SUBST(BSDLIB_CMT)
199AC_SUBST_FILE(MAKEFILE_BSDLIB)
200dnl
80bfaa3e
TT
201dnl handle --enable-jfs-debug
202dnl
203AC_ARG_ENABLE([jfs-debug],
204[ --enable-jfs-debug enable journal debugging],
205if test "$enableval" = "no"
206then
207 echo "Disabling journal debugging"
208else
209 AC_DEFINE(JFS_DEBUG)
210 echo "Enabling journal debugging"
211fi
212,
213echo "Disabling journal debugging by default"
214)
215dnl
a64c9c13
TT
216dnl Add internationalization support, using gettext.
217dnl
218PACKAGE=e2fsprogs
219VERSION="$E2FSPROGS_VERSION"
220AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
221AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
222AC_SUBST(PACKAGE)
223AC_SUBST(VERSION)
224
1917875f 225ALL_LINGUAS="it nyc"
a64c9c13
TT
226AM_GNU_GETTEXT
227dnl
50e1e10f
TT
228dnl handle --enable-profile
229dnl
230AC_ARG_ENABLE([profile],
a4d09610 231[ --enable-profile build profiling libraries],
50e1e10f
TT
232if test "$enableval" = "no"
233then
234 PROFILE_CMT=#
235 MAKEFILE_PROFILE=/dev/null
236 echo "Disabling profiling libraries"
237else
238 PROFILE_CMT=
239 MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
a4d09610 240 PROFILED_LIB_EXT=_p.a
50e1e10f
TT
241 echo "Building profiling libraries"
242fi
243,
244PROFILE_CMT=#
245MAKEFILE_PROFILE=/dev/null
246echo "Disabling profiling libraries by default"
247)
248AC_SUBST(PROFILE_CMT)
249AC_SUBST_FILE(MAKEFILE_PROFILE)
250dnl
251dnl handle --enable-checker
252dnl
253AC_ARG_ENABLE([checker],
a4d09610 254[ --enable-checker build checker libraries],
50e1e10f
TT
255if test "$enableval" = "no"
256then
257 CHECKER_CMT=#
258 MAKEFILE_CHECKER=/dev/null
259 echo "Disabling checker libraries"
260else
261 CHECKER_CMT=
262 MAKEFILE_CHECKER=$srcdir/lib/Makefile.checker
263 echo "Building checker libraries"
264fi
265,
266CHECKER_CMT=#
267MAKEFILE_CHECKER=/dev/null
268echo "Disabling checker libraries by default"
269)
270AC_SUBST(CHECKER_CMT)
271AC_SUBST_FILE(MAKEFILE_CHECKER)
272dnl
a4d09610
TT
273dnl Substitute library extensions
274dnl
275AC_SUBST(LIB_EXT)
276AC_SUBST(STATIC_LIB_EXT)
277AC_SUBST(PROFILED_LIB_EXT)
278dnl
50e1e10f
TT
279dnl handle --enable-gcc-wall
280dnl
281AC_ARG_ENABLE([gcc-wall],
b0b9c4de 282[ --enable-gcc-wall enable GCC anal warnings (DON'T USE IN PRODUCTION)],
50e1e10f
TT
283if test "$enableval" = "no"
284then
285 W=#
286 echo "Disabling GCC warnings"
287else
288 W=
289 echo "Enabling GCC warnings"
290fi
291,
292W=#
293echo "Disabling GCC warnings by default"
294)
295AC_SUBST(W)
a4d09610
TT
296AC_ARG_ENABLE([dynamic-e2fsck],
297[ --enable-dynamic-e2fsck build e2fsck dynamically],
298if test "$enableval" = "no"
299then
300 E2FSCK_TYPE=static
301 echo "Building e2fsck statically"
302else
303 E2FSCK_TYPE=shared
304 echo "Building e2fsck dynamically"
305fi
306,
307E2FSCK_TYPE=static
308echo "Building e2fsck statically by default"
309)
310AC_SUBST(E2FSCK_TYPE)
50e1e10f 311dnl
fc6d9d51
TT
312dnl See whether to install the `fsck' wrapper program (that calls e2fsck)
313dnl
314AC_ARG_ENABLE([fsck],
315[ --enable-fsck build fsck wrapper program],
316[if test "$enableval" = "no"
317then
318 FSCK_PROG='' FSCK_MAN=''
319 echo "Not building fsck wrapper"
320else
321 FSCK_PROG=fsck FSCK_MAN=fsck.8
322 echo "Building fsck wrapper"
323fi]
324,
325[case "$host_os" in
326 gnu*)
327 FSCK_PROG='' FSCK_MAN=''
328 echo "Not building fsck wrapper by default"
329 ;;
330 *)
331 FSCK_PROG=fsck FSCK_MAN=fsck.8
332 echo "Building fsck wrapper by default"
333esac]
334)
335AC_SUBST(FSCK_PROG)
336AC_SUBST(FSCK_MAN)
337dnl
50e1e10f
TT
338dnl
339MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
340AC_SUBST_FILE(MAKEFILE_LIBRARY)
341dnl
fc6d9d51
TT
342dnl
343AC_ARG_ENABLE([old-bitops],
344[ --enable-old-bitops Use old (non-standard but native) bitmask operations],
345if test "$enableval" = "no"
346then
347 echo "Using new (standard) bitmask operations"
348else
349 AC_DEFINE(EXT2_OLD_BITOPS)
350 echo "Using old (native) bitmask operations"
351
352fi
353,
354echo "Using standard bitmask operations by default"
355)
356dnl
50e1e10f
TT
357dnl End of configuration options
358dnl
74becf3c 359AC_SUBST(BINARY_TYPE)
50e1e10f
TT
360AC_PROG_MAKE_SET
361AC_PATH_PROG(LN, ln, ln)
fc6d9d51 362AC_PROG_LN_S
50e1e10f
TT
363AC_PATH_PROG(MV, mv, mv)
364AC_PATH_PROG(CP, cp, cp)
365AC_PATH_PROG(RM, rm, rm)
366AC_PATH_PROG(CHMOD, chmod, :)
367AC_PATH_PROG(AWK, awk, awk)
368AC_PATH_PROG(SED, sed, sed)
9d564f73 369AC_PATH_PROG(PERL, perl, perl)
50e1e10f
TT
370AC_CHECK_TOOL(AR, ar, ar)
371AC_CHECK_TOOL(RANLIB, ranlib, :)
372AC_CHECK_TOOL(STRIP, strip, :)
50e1e10f 373AC_PROG_INSTALL
6c133523
TT
374# See if we need a separate native compiler.
375if test $cross_compiling = no; then
376 BUILD_CC="$CC"
377 AC_SUBST(BUILD_CC)
378else
379 AC_CHECK_PROGS(BUILD_CC, gcc cc)
380fi
a2980713 381AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h termios.h linux/fd.h linux/major.h sys/disklabel.h sys/mount.h sys/sockio.h sys/time.h sys/stat.h sys/types.h net/if.h netinet/in.h)
50e1e10f
TT
382AC_FUNC_VPRINTF
383dnl
384dnl See if struct dirent has a d_namlen field (like bsd systems), implying
385dnl that the actual length of the structure may be grater than the declared
386dnl length.
387dnl
388AC_MSG_CHECKING(whether struct dirent has a d_namlen field)
389AC_CACHE_VAL(e2fsprogs_cv_struct_d_namlen,
390 AC_TRY_COMPILE(
391[#include <sys/types.h>
392#include <dirent.h>],
393 [struct dirent de; de.d_namlen = 0;],
394 [e2fsprogs_cv_struct_d_namlen=yes],
395 [e2fsprogs_cv_struct_d_namlen=no]))
396AC_MSG_RESULT($e2fsprogs_cv_struct_d_namlen)
397if test "$e2fsprogs_cv_struct_d_namlen" = yes; then
398 AC_DEFINE(HAVE_DIRENT_NAMLEN)
399fi
400dnl
b0b9c4de
TT
401dnl Check to see if llseek() is declared in unistd.h. On some libc's
402dnl it is, and on others it isn't..... Thank you glibc developers....
403dnl
404dnl Warning! Use of --enable-gcc-wall may throw off this test.
405dnl
406dnl
407AC_MSG_CHECKING(whether llseek declared in unistd.h)
408AC_CACHE_VAL(e2fsprogs_cv_have_llseek_prototype,
409 AC_TRY_COMPILE(
410[#include <unistd.h>], [extern int llseek(int);],
411 [e2fsprogs_cv_have_llseek_prototype=no],
412 [e2fsprogs_cv_have_llseek_prototype=yes]))
413AC_MSG_RESULT($e2fsprogs_cv_have_llseek_prototype)
414if test "$e2fsprogs_cv_have_llseek_prototype" = yes; then
415 AC_DEFINE(HAVE_LLSEEK_PROTOTYPE)
416fi
417dnl
6928adc9
TT
418dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files
419dnl are so convoluted that I can't tell whether it will always be defined,
420dnl and if it isn't defined while lseek64 is defined in the library,
421dnl disaster will strike.
422dnl
423dnl Warning! Use of --enable-gcc-wall may throw off this test.
424dnl
425dnl
426AC_MSG_CHECKING(whether lseek64 declared in unistd.h)
427AC_CACHE_VAL(e2fsprogs_cv_have_lseek64_prototype,
428 AC_TRY_COMPILE(
429[#define _LARGEFILE_SOURCE
430#define _LARGEFILE64_SOURCE
431#include <unistd.h>], [extern int lseek64(int);],
432 [e2fsprogs_cv_have_lseek64_prototype=no],
433 [e2fsprogs_cv_have_lseek64_prototype=yes]))
434AC_MSG_RESULT($e2fsprogs_cv_have_lseek64_prototype)
435if test "$e2fsprogs_cv_have_lseek64_prototype" = yes; then
436 AC_DEFINE(HAVE_LSEEK64_PROTOTYPE)
437fi
438dnl
50e1e10f
TT
439dnl Word sizes...
440dnl
441if test "$cross_compiling" = yes -a "$ac_cv_sizeof_long" = ""; then
442 # if cross-compiling, with no cached values, just assume something common.
443 ac_cv_sizeof_short=2
444 ac_cv_sizeof_int=4
445 ac_cv_sizeof_long=4
6c133523
TT
446 ac_cv_sizeof_long_long=8
447 AC_MSG_WARN([Cross-compiling, so cannot check type sizes; assuming short=2, int=4, long=4, long long=8])
50e1e10f
TT
448fi
449AC_CHECK_SIZEOF(short)
450AC_CHECK_SIZEOF(int)
451AC_CHECK_SIZEOF(long)
fc6d9d51 452AC_CHECK_SIZEOF(long long)
50e1e10f
TT
453SIZEOF_SHORT=$ac_cv_sizeof_short
454SIZEOF_INT=$ac_cv_sizeof_int
455SIZEOF_LONG=$ac_cv_sizeof_long
fc6d9d51 456SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
50e1e10f
TT
457AC_SUBST(SIZEOF_SHORT)
458AC_SUBST(SIZEOF_INT)
459AC_SUBST(SIZEOF_LONG)
fc6d9d51 460AC_SUBST(SIZEOF_LONG_LONG)
50e1e10f
TT
461dnl
462dnl See if struct stat has a st_flags field, in which case we can get file
463dnl flags somewhat portably. Also check for the analogous setter, chflags().
464dnl
465AC_MSG_CHECKING(whether struct stat has a st_flags field)
466AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
467 AC_TRY_COMPILE([#include <sys/stat.h>],
468 [struct stat stat; stat.st_flags = 0;],
469 [e2fsprogs_cv_struct_st_flags=yes],
470 [e2fsprogs_cv_struct_st_flags=no]))
471AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
472if test "$e2fsprogs_cv_struct_st_flags" = yes; then
c03bc4e8
TT
473 AC_MSG_CHECKING(whether st_flags field is useful)
474 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut,
475 AC_TRY_COMPILE([#include <sys/stat.h>],
476 [struct stat stat; stat.st_flags |= UF_IMMUTABLE;],
477 [e2fsprogs_cv_struct_st_flags_immut=yes],
478 [e2fsprogs_cv_struct_st_flags_immut=no]))
479 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut)
480 if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
481 AC_DEFINE(HAVE_STAT_FLAGS)
482 fi
50e1e10f 483fi
6928adc9 484AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 strdup getmntinfo strcasecmp srandom fchown mallinfo fdatasync)
fc6d9d51
TT
485dnl
486dnl Check to see if ino_t is defined
487dnl
488AC_MSG_CHECKING(ino_t defined by sys/types.h)
489AC_CACHE_VAL(e2fsprogs_cv_ino_t,
490 AC_TRY_COMPILE([#include <sys/types.h>],
491 [ino_t ino; ino = 0;],
492 [e2fsprogs_cv_ino_t=yes],
493 [e2fsprogs_cv_ino_t=no]))
494AC_MSG_RESULT($e2fsprogs_cv_ino_t)
495if test "$e2fsprogs_cv_ino_t" = yes; then
496 AC_DEFINE(HAVE_INO_T)
497fi
50e1e10f 498dnl
fc6d9d51
TT
499dnl Check to see if -lsocket is required (solaris) to make something
500dnl that uses socket() to compile; this is needed for the UUID library
501dnl
502SOCKET_LIB=''
503AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
504AC_SUBST(SOCKET_LIB)
505dnl
50e1e10f
TT
506dnl See if optreset exists
507dnl
508AC_MSG_CHECKING(for optreset)
509AC_CACHE_VAL(ac_cv_have_optreset,
510[AC_EGREP_HEADER(optreset, unistd.h,
511 ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl
512AC_MSG_RESULT($ac_cv_have_optreset)
513if test $ac_cv_have_optreset = yes; then
514 AC_DEFINE(HAVE_OPTRESET)
515fi
516dnl
8f3f29d3
TT
517dnl We use the EXT2 ioctls only under Linux
518dnl
519case "$host_os" in
520linux*)
521 AC_DEFINE(HAVE_EXT2_IOCTLS)
522 ;;
523esac
50e1e10f 524dnl
6c133523 525dnl Linux and Hurd places root files in the / by default
50e1e10f 526dnl
50e1e10f 527case "$host_os" in
6c133523 528linux* | gnu*)
a4b2d3ce
TT
529 if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
530 root_prefix="";
531 echo "On $host_os systems, root_prefix defaults to ''"
fc6d9d51
TT
532 fi
533 ;;
534esac
fc6d9d51 535dnl
a4b2d3ce 536dnl On Linux/hurd, force the prefix to be /usr
fc6d9d51
TT
537dnl
538case "$host_os" in
539linux* | gnu*)
540 if test "$prefix" = NONE ; then
a4b2d3ce
TT
541 prefix="/usr";
542 echo "On $host_os systems, prefix defaults to /usr"
50e1e10f
TT
543 fi
544;;
545esac
a4b2d3ce 546if test "$root_prefix" = NONE ; then
ffe1991f 547 if test "$prefix" = NONE ; then
a4b2d3ce
TT
548 root_prefix="$ac_default_prefix"
549 else
550 root_prefix="$prefix"
551 fi
552fi
553AC_SUBST(root_prefix)
50e1e10f
TT
554dnl
555dnl See if -static works.
50e1e10f 556dnl
ae851482
TT
557AC_MSG_CHECKING([whether linker accepts -static])
558AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
559[SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
560AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
561 ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
562LDFLAGS=$SAVE_LDFLAGS])
defde784
TT
563dnl
564dnl Regardless of how the test turns out, Solaris doesn't handle -static
565dnl This is caused by the socket library requiring the nsl library, which
566dnl requires the -dl library, which only works for dynamically linked
567dnl programs. It basically means you can't have statically linked programs
568dnl which use the network under Solaris.
569dnl
570case "$host_os" in
571solaris2.*)
572 ac_cv_e2fsprogs_use_static=no
573;;
574esac
ae851482 575AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
74becf3c 576LDFLAG_STATIC=
ae851482 577if test $ac_cv_e2fsprogs_use_static = yes; then
50e1e10f 578 LDFLAG_STATIC=-static
ae851482 579fi
50e1e10f
TT
580AC_SUBST(LDFLAG_STATIC)
581dnl
50e1e10f
TT
582dnl Make the ss and et directories work correctly.
583dnl
584SS_DIR=`cd ${srcdir}/lib/ss; pwd`
585ET_DIR=`cd ${srcdir}/lib/et; pwd`
586AC_SUBST(SS_DIR)
587AC_SUBST(ET_DIR)
588dnl
589dnl Only try to run the test suite if we're not cross compiling.
590dnl
591if test "$cross_compiling" = yes ; then
592 DO_TEST_SUITE=
593else
594 DO_TEST_SUITE=check
595fi
596AC_SUBST(DO_TEST_SUITE)
597dnl
598dnl Make our output files, being sure that we create the some miscellaneous
599dnl directories
600dnl
601test -d lib || mkdir lib
602test -d include || mkdir include
603test -d include/linux || mkdir include/linux
defde784 604test -d include/asm || mkdir include/asm
24b2c7a7
TT
605rmakefile=
606if test -d ${srcdir}/resize ; then
607 rmakefile=resize/Makefile
608fi
44339bdf 609AC_OUTPUT(MCONFIG Makefile util/Makefile util/subst.conf lib/et/Makefile
fc6d9d51
TT
610 lib/ss/Makefile lib/ext2fs/Makefile lib/e2p/Makefile lib/uuid/Makefile
611 misc/Makefile e2fsck/Makefile debugfs/Makefile tests/Makefile
a64c9c13
TT
612 tests/progs/Makefile $rmakefile doc/Makefile
613 intl/Makefile po/Makefile.in)